目录:
为什么需要配置中心
假如我们的系统要去调用另一个系统的接口,于是我们在配置文件里加了如下一行配置。
使用配置中心就能解决这些问题,配置文件修改之后项目不需要进行重启,配置就能生效。而且配置统一进行管理,就算部署了多台机器,也只需要修改一次。
配置中心组件对比选型
Nacos相对于Apollo来说,更轻量,读写性能比Apollo好。但是功能没有Apollo完善,像灰度发布和权限管理这块Nacos是不支持的。在生产环境做分布式部署的话,Apollo部署组件较多,运维成本较高。Nacos就简单多了,只需要部署NacosServer和mysql就可以了。
最终如何选择还是需要根据项目需求和结合实际资源来去决定。
如果你项目用的是Spring Cloud这套架构体系,那么推荐使用Spring Cloud Config,毕竟他们能无缝整合。可能使用起来不是那么方便,很多功能都需要基于git。但是开发整合起来更简单,能节省较多时间。Spring Cloud Config最大的缺点就是性能比较低。三节点读QPS也才20多,写只有5。要是对性能要求比较高那才需要去考虑Nacos或者Apollo。
如果项目使用Spring Cloud Alibaba这套架构体系,那么就推荐使用Nacos,因为Spring Cloud Alibaba中Nacos作为注册中心必须要存在,那么就无需再去整合其它东西进来了,配置中心就直接也使用Nacos。Nacos整体相对简洁,使用起来更方便,功能也比较完善。只是不支持灰度发布和权限管理。
如果你项目对性能有要求,而且需要支持灰度发布和权限管理的功能。或是你就是想用用Apollo,反正手下的人也比较闲。不在乎多一点的人力投入,那么用Apollo也是完全OK。
集成Apollo
我就是属于想用用Apollo,不在乎多花点时间的这种类型。所以接下来就把Apollo集成到项目里面来。
创建数据库
安装Apollo Config Service
1、获取镜像
2、运行镜像
安装Apollo Admin Service
1、获取镜像
2、运行镜像
安装 Apollo Portal
1、获取镜像
2、运行镜像
客户端
2、在配置文件中添加如下配置
3、在Apollo Portal界面中创建一个项目
到此Apollo就已经集成完毕,这只是比较简单的用法,还有其他使用方法可以参照官网进行使用。https://github.com/ctripcorp/apollo/wiki/Java客户端使用指南
4、Apollo原理
在整合Apollo过程中我们部署了Config Service、Admin Service和Apollo Portal。最后在我们的项目里引入了一个Apollo的jar包,这个称之为Apollo Client。下图为Apollo的架构图:
其实除了上面的四个模块外,还存在Eureka和Meta Server两个模块,只是这两个模块是和Config Service一块部署的,在同一个JVM进程中。引入Eureka和Meta Server两个模块后,整个架构图就变成了这样的:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-api/32178.html