Nacos客户端版本
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
参数配置详解
com.alibaba.nacos.naming.log.level | Naming客户端的日志级别,改属性通过客户端启动时通过命令行加参数指定 注:默认为info |
spring.cloud.nacos.discovery.heart-beat-interval: | nacos客户端向服务端发送心跳的时间间隔,默认5s 注:客户端向服务端每隔5s向服务端发送心跳请求,进行服务续租,告诉服务端该实例IP健康。若在3次心跳的间隔时间(默认15s)内服务端没有接受到该实例的心跳请求,则认为该实例不健康,该实例将无法被消费。如果再次经历3次心跳的间隔时间,服务端接受到该实例的请求,那么会立刻将其设置外健康,并可以被消费,若未接受到,则删除该实例的注册信息。推荐配置为5s,如果有的业务线希望服务下线或者出故障时希望尽快被发现,可以适当减少该值。 |
spring.cloud.nacos.discovery.heart-beat-timeout: | 服务端没有接受到客户端心跳请求就将其设为不健康的时间间隔,默认为15s 注:推荐值该值为15s即可,如果有的业务线希望服务下线或者出故障时希望尽快被发现,可以适当减少该值。 |
spring.cloud.nacos.discovery.log-name: | nacos客户端会在启动时打印一部分发送注册请求信息和异常日志,可以通过日志查看注册的nacos集群地址、服务名、nameSpace、IP、元数据等内容,文件名默认为naming.log 注:推荐将该日志的位置设置为和其他日志在一个文件夹下 |
spring.cloud.nacos.discovery.metadata: | 给服务添加一些标签,例如属于什么业务线,该元数据会持久化存储在服务端,但是客户端消费时不会获取到此值,默认为空 |
| 命名空间ID,Nacos通过不同的命名空间来区分不同的环境,进行数据隔离,服务消费时只能消费到对应命名空间下的服务。 |
spring.cloud.nacos.discovery.naming-load-cache-at-start: | 默认为false。客户端在启动时是否读取本地配置项(一个文件)来获取服务列表 注:推荐该值为false,若改成true。则客户端会在本地的一个文件中保存服务信息,当下次宕机启动时,会优先读取本地的配置对外提供服务。 |
spring.cloud.nacos.discovery.port: | 向nacos注册服务时,服务对应的端口号 注:无需修改,默认为应用对外提供服务的端口号,server.port |
| 该项目是否向注册中心注册服务,默认为true 注:如果服务从注册中心只消费服务,没有对外提供服务,那么该值可设置为false,可减少客户端线程池的创建,无需向服务端发送心跳请求,提高性能。 |
spring.cloud.nacos.discovery.server-addr | nacos集群地址。 注:多个IP可以通过“,”号隔离,例如192.168.80.1:8848,192.168.80.1:8848 填写域名时前缀不要加上http:// |
spring.cloud.nacos.discovery.service: | 项目向注册中心注册服务时的服务名,默认为 spring.application.name 变量 |
spring.cloud.nacos.discovery.watch-delay: | 默认为30s。默认为true,客户端在启动时会创建一个线程池,该线程定期去查询服务端的信息列表,该请求不会立刻返回,默认等待30s,若在30s内,服务端信息列表发生变化,则该请求立刻返回,通知客户端拉取服务端的服务信息列表,若30s内,没有变化,则30s时该请求返回响应,客户端服务列表不变,再次发生该请求。 注:推荐该值为30s即可,无需修改 |
spring.cloud.nacos.discovery.watch.enabled: | 默认为true,默认为true,客户端在启动时会创建一个线程池,该线程定期去查询服务端的信息列表,该请求不会立刻返回,默认等待30s,若在30s内,服务端信息列表发生变化,则该请求立刻返回,通知客户端拉取服务端的服务信息列表,若30s内,没有变化,则30s时该请求返回响应,客户端服务列表不变,再次发生该请求。 注:推荐该功能为true,这是nacos类似长连接推送服务变化的功能,不要关闭 |
| nacos支持服务端基于权重的负载均衡,该值默认为1 注:建议该值保持默认即可,因为代码可能会部署到不同的服务器上,无法确保某台服务器的配置一定较好,如果有需要修改该值的需求,可以上控制台修改,这样可以保证对应IP服务器的权重值较高 |