dubbo项目整合nacos注册中心问题记录

版本前提

  • springboot版本:2.1.6
  • dubbo版本:2.7.9
  • nacos版本:1.1.4

1. dubbo项目启动后出现大量休眠线程

如图,项目启动完成就有大约1000左右的线程。这些线程一直保留到程序结束,不会被销毁。
dubbo项目整合nacos注册中心问题记录_第1张图片

这是dubbo的bug,将项目中的dubbo版本升级到2.7.9就可以了。

            
            <dependency>
                <groupId>org.apache.dubbogroupId>
                <artifactId>dubbo-spring-boot-starterartifactId>
                <version>2.7.9version>
            dependency>

配置列表自动出现很多以接口为group的配置文件,并且有非常多nacos线程,正常吗?
#4491

2. 大量关于nacos连接的异常日志

似乎只有当nacos部署集群的时候才会出现,引入nacos后,大量的上线、下线日志,配置拉取日志、心跳日志和长轮询日志以及更多的连接拒绝、连接超时错误日志。会占用大量的空间,一不注意硬盘就满了。
这些信息价值不高,出现的异常信息是由于nacos自身的bug,并不影响nacos和应用的运行及服务。
dubbo项目整合nacos注册中心问题记录_第2张图片

  • 升级nacos的客服端以及服务端到最新的稳定版。
  • 或者关闭nacos客户端的日志输出,配置如下:
--logging.level.com.alibaba.nacos=off

此配置必须放到启动参数中,放在配置文件里无法生效,原因未知。

  • 调整nacos客户端的输出级别

这种方式与上一项配置思路相同,按照网上的一些说法 “https://blog.51cto.com/u_7075695/3020019?ivk_sa=1024320u” ,可以通过调整nacos客户端的Naming和config的日志级别来解决,这种方式可能更为理想:

-Dcom.alibaba.nacos.config.log.level=error -Dcom.alibaba.nacos.naming.log.level=error

但是以上配置在我的项目中无法生效,不管是放在jvm参数中还是启动参数中。

3. nacos配置中心出现没用的配置项

项目启动后,nacos的配置列表中出现很多了以dubbo为group的api和许多mapping开头的group。
dubbo项目整合nacos注册中心问题记录_第3张图片

关闭dubbo的配置中心配置就可以了,可以放在启动参数或者配置文件里。

dubbo:
  registry:
    use-as-config-center: false

dubbo 集成 nacos注册中心 ,配置列表会自动创建很多无关的配置
#6645

4. 其他的一些配置

  • nacos服务端的tomcat配置

nacos是一个springboot项目,可以调整springboot内置的tomcat参数来调整nacos的吞吐量:

#等待队列长度,当可分配的线程数全部用完之后,后续的请求将进入等待队列等待,等待队列满后则拒绝处理,默认100
server.tomcat.accept-count=2000 
#最大工作线程数,默认200
server.tomcat.max-threads=500 

springboot 连接数和并发配置比例

  • nacos客户端的连接配置
 #调高连接超时时间,默认是3s。需要配置到JVM参数
-Dcom.alibaba.nacos.client.naming.ctimeout=10 
 #nacos客户端向服务端发送心跳的时间间隔,默认5s
--spring.cloud.nacos.discovery.heart-beat-interval=15 

你可能感兴趣的:(dubbo,spring,boot,nacos,dubbo)