加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.com/)- 应用安全、运维、云计算、5G、云通信!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

深度对比三种主流微服务配置中心

发布时间:2019-04-17 03:31:44 所属栏目:外闻 来源:Dockone.io
导读:【编者的话】在撰写这篇技术选型的文章之前,是比较犹豫的。因为,以其中一个开源项目开发者的身份,去写一篇三个开源项目的对比,即便很克制的去客观的比较,也很难有信服力。这就像,既是参赛选手,又想做裁判,观众肯定是不买账的。 但最后,仍然决定去

性能也是配置中心绕不过的一环,在同样的机器规格下,如果能支撑更大的业务量,势必能替公司节省更多的资源成本,提高资源利用率。应用客户端对配置中心的接口操作有读、写和变更通知,由于变更通知需要大量的客户端实例,不好模拟测试场景,下面仅对读和写操作做了测试。

硬件环境

Nacos和Apollo使用同样的数据库(32C128G),部署Server服务的机器使用的8C16G配置的容器,磁盘是100G SSD。

版本

Spring Cloud Config使用2.0.0.M9版本,Apollo使用1.2.0 release版本,Nacos使用0.5版本。

单机读场景

客户端测试程序通过部署多台机器,每台机器开启多个线程从配置中心读取不同的配置(3000个)。Nacos QPS可以达到15000,Apollo分为读内存缓存和从数据库中读两种方式,从数据库中读能达到7500,从内存读缓存性能可以达到9000QPS。Spring Cloud Config使用jGit读写Git,由于有客户端限制,单机读能力被限制在7QPS。

3节点读场景

将配置中心的压测节点数都部署成3个节点。Nacos QPS可以达到45000 QPS,Apollo读内存缓存可以达到27000 QPS。Nacos和Apollo由于读场景各个节点是独立的,基本就是单机读场景的3倍关系。Spring Cloud Config三个节点读能力可以到达21QPS。

单机写场景

同样的方式,多台机器同时在配置中心修改不同的配置。Nacos QPS可以达到1800,Apollo未使用默认的数据库连接池(10)QPS只能达到800 QPS(CPU未压满),调整连接池至100可以达到1100 QPS(CPU压满)。Git在提交同一个项目的时候会加锁,单机Git写能在5QPS左右,Spring Cloud Config在使用的时候以一个项目作为数据源,写能力受到Git限制。

3节点写场景

同样的方式,将配置中心的压测节点数都部署成3个节点。Nacos QPS可以达到6000,Apollo可以达到3300 QPS(CPU压满),此时MySQL数据库因为配置较高,未成为性能瓶颈。Spring Cloud Config三个节点时候,Git也是一个节点,写QPS为5。

整体上来看,Nacos的读写性能最高,Apollo次之,Spring Cloud Config的依赖Git场景不适合开放的大规模自动化运维API。

功能特性对比总结

这里列一个表格总结一下三个产品的功能特点。

深度对比三种主流微服务配置中心

深度对比三种主流微服务配置中心

总的来说,Apollo和Nacos相对于Spring Cloud Config的生态支持更广,在配置管理流程上做的更好。Apollo相对于Nacos在配置管理做的更加全面,不过使用起来也要麻烦一些。Nacos使用起来相对比较简洁,在对性能要求比较高的大规模场景更适合。

此外,Nacos除了提供配置中心的功能,还提供了动态服务发现、服务共享与管理的功能,降低了服务化改造过程中的难度。

以上,我们从产品功能、使用体验、实施过程和性能 4 个纬度对Spring Cloud Config、Apollo和Nacos进行对比。但对于一个开源项目的选型,除了以上这4个方面,项目上的人力投入(迭代进度、文档的完整性)、社区的活跃度(issue的数量和解决速度、Contributor数量、社群的交流频次等)、社区的规范程度(免责说明、安全性说明等),这些可能才是用户更关注的内容。

作者:风卿,Nacos 社区 committer

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读