Spring Cloud (16) | Spring Cloud微服务重构问题总结

来源:互联网 发布:软件冗余技术 编辑:程序博客网 时间:2024/06/04 19:56

注册IP问题
早期的Spring Cloud Eureka在注册获取网卡IP时,不能区分外网网卡和内网网卡,如果安装了虚拟机和docker也不能区分虚拟网卡,每次启动注册的IP都有可能不一样,如果要注册为外网网卡IP,那运行带宽就不够,这个bug应该说是比较严重的问题,因此重写了网卡IP获取的逻辑来解决,同时也反馈给了spring cloud团队,再后期的版本中添加了网卡接口排序和通过名称过滤的功能来得到解决。

HealthCheck的问题
在一些极小概率的情况下,会导致Eureka Server 下线微服务实例,出现“Remote status from Eureka server is down”的问题,即便是重启微服务也无济于事,不过已经有码友在spring cloud 官方github贴出了解决方法的issue。

Zookeeper版本带来的性能问题
现象是一个团队在实施微服务时,发现部署到服务器上的微服务,在没有任何请求时,仍然CPU占用20~30%;匪夷所思的是,同样的微服务包在本地开发机器、本地物理机、本地虚拟机运行并未出现。通过jvisualvm观察,如下图:

可以看到和Zookeeper有关,同时我的另一个Demo微服务在任何环境下却未出现该问题。比较jar中依赖包之后发现,2个包中唯一不一样的是Apache Curator版本,一个是2.8.0, spring cloud默认依赖的版本;没问题的是Apache Curator 2.9.1。Apache Curator 2.8.0 BUG!!!在[Apache Curator 2.9.1 Release Notes](

原创粉丝点击