在springBoot类中添加注解@EnableDiscoveryClient开启服务发现客户端,
@RefreshScope:给类上添加一个刷新的作用域,动态刷新,哪里需要刷新哪里就添加
nacos配置文件
spring.application.name: 指定服务名称
spring.cloud.nacos.server-addr: 端口号:8848 往这个地址注册自己 ( 默认为8848 ),集群用逗号分隔填多个
spring.cloud.username:nacos 账户名称
spring.cloud.password:nacos 账户密码
spring.cloud.discovery.namespace: 命名空间
spring.cloud.discovery.group: 分组( 默认为DEFAULT_GROUP )
spring.cloud.discovery.service: 注册列表的名称( 默认为${spring.application.name} )
spring.cloud.nacos.config.server-addr: 端口号:8848( 默认为8848 )
spring.cloud.nacos.config.prefix: 读取配置文件的名称
spring.cloud.nacos.config.file-extension: 配置文件的类型,后缀
spring.cloud.nacos.config.shared-configs: 共享配置文件
如果值只为一个文件名称那么只能在DEFAULT_GROUP
- application-dev.yml
同命名空间不同分组的情况
- dataId: application-dev.yml
group: A_GROUP
refresh: true (是否支持动态刷新)
spring.cloud.nacos.config.extension-configs: 可以读取多个配置文件,需要在同一个命名空间
- dataId: 文件名称
group: 分组
refresh: boolean
spring.profiles.active: 如名称为user-center-dev.yml 那么该位置填dev
如果配置文件的名称和prefix相同那么即使写了拼接也不会拼接,相反prefix的名称如果是拼接才等于配置文件名称
在写dataId的时候一定要加文件类型后缀
nacos是一种pull(拉)模式,他是长连接,长连接发送一段请求不会立马返回回来,会经过29.5秒如果还没有返回过来就是超时
bootstrap.yml 远端的配置文件应该写什么?
1.应用名称 spring.application.name
2.nacos的注册和拉取( pull模式 )配置文件
远端放 端口、数据源、redis mq 能放远端的全放 因为方便管理和修改包括自定义配置
nacos遇到的bug:
1:nacos启动报field id:
windows查看端口:
查看进程:
netstat -ano | findstr 8848
Linux查看端口:
netstat -tunlp | grep 8848
杀掉进程:
windows:
taskkill /F /PID 12321 /T
Linux:
kill -9 [pid]
端口号被占用,nacos默认进程+1,启动8848进程时8849可能会被占用,通常使用集群(cluster)时候端口号+2 如8848、8850、8852
其他的报错基本上都是修改conf里的application.properties和cluster.conf文件没有修改好
bin里的startup.md启动按钮 单机一般为集群启动如果单机启动的话在文件夹里cmd start.up -m standalone