nacos服务治理
1.导入依赖
推荐springboot版本2.3.4.RELEASE ,当然,这个看个人,如果报错的话可以试试这个版本对应关系(springboot 与 springcloud版本对应很重要,不然改错改到头皮麻烦)
<dependcy>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.3.RELESE</version>
</dependcy>
2.写application.yml
server:
port: 7000 #服务端口
spring:
application:
name: loonmall-coupon #服务名
cloud:
nacos:
discovery:
server-addr: 192.168.40.135:8848 #nacos的服务地址(ip:端口号)
username: nacos #nacos的登陆账号(默认nacos)
password: nacos #nacos的登陆密码(默认nacos)
namespace: b32e68b0-cba4-48e1-8900-efb4ccbb0135 #nacos的命名空间,public是默认的可以不写,具体看视图页面
3.启动类激活nacos
/*在主启动类上添加 注解:
@EnableDiscoveryclient
该注解有Spring Cloud 提供,用于服务发现
*/
@EnableDiscoveryClient
@SpringBootApplication
public class LoonmallCouponApplication {
public static void main(String[] args) {
SpringApplication.run(LoonmallCouponApplication.class, args);
}
}
4.nacos视图展示(文章底部有说命名空间如何建立)
image.png
nacos动态配置中心
1.导入依赖
<-- 注册中心依赖!-->
<dependcy>
<groupId>com.alibaba.cloud</groupId>
<artifactedId>spring-cloud-starter-alibaba-nacos-discovery</artifactedId>
</dependcy>
<-- 配置中心依赖!-->
<dependcy>
<groupId>com.alibaba.cloud</groupId>
<artifactedId>spring-cloud-starter-alibaba-nacos-config</artifactedId>
</dependcy>
2.配置文件
注意:配置中心的文件一定要是bootstrap.yml
可查考下面配置文件代码和图,更好理解!!!
server:
port: 7000
spring:
application:
name: loonmall-coupon
profiles:
active: dev #选用dev分支的配置,默认可以不写
cloud:
nacos:
config:
namespace: b32e68b0-cba4-48e1-8900-efb4ccbb0135
group: COUPON
file-extension: yml #指定格式为yml,
image.png
3.controller层加注解:
@RefreshScope //动态配置的注解
@RestController
@RequestMapping("/coupon")
public class CouponController {
...
所以服务与配置文件整合之后就是如下:
server:
port: 7000
spring:
application:
name: loonmall-coupon
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: 192.168.40.135:8848
username: nacos
password: nacos
namespace: b32e68b0-cba4-48e1-8900-efb4ccbb0135
config:
namespace: b32e68b0-cba4-48e1-8900-efb4ccbb0135
group: COUPON
file-extension: yml
命名空间建立
image.png
官方说明
${prefix}-${spring.profiles.active}.${file-extension}
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profiles.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profiles.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。