阿里巴巴NACOS(4)- 主流微服务配置中心产品比较 Spring Cloud Config、阿里云ACM、Nacos

        上一篇文章介绍了如何部署Nacos的生产集群环境,因为Nacos是开源的,代码透明、可以参与共建、有社区进行交流和学习,当然更重要的是开源产品的接入成本低,所以公司项目目前都采用Nacos作为服务配置和注册中心,之前也用过其他产品,比如Eureka、Consul、Spring Cloud Config等,这篇文章就分享一下 服务配置中心  一些主流产品的对比。


1、主流微服务配置中心对比Spring Cloud Config、阿里云ACM、Nacos

        说到配置,记得很早用SSH或SSM框架开发项目的时候都是xml的配置文件,内容很多,很容易写错,稍微有一个地方出错了,整个项目就启动不了,现在技术不断日新月异,更新换代很快,而且开源项目框架很多,层出不穷,目前一般都是用微服务的框架,项目基本都用注解方式了,当然除了项目的配置外,还有其他的一些配置文件,比如:开发(dev)、测试(test)、发布(pro)的配置、redis的配置、rabbitMQ的配置、定时任务配置、微服务的路由配置等等,所以用一款好的配置管理工具能事半功倍。

        目前主流的一些配置管理中心有Spring Cloud Config Server、Zookeeper、阿里云ACM、Nacos等,这里介绍阿里云ACM,主要是阿里云MSE的微服务引擎支持的Nacos暂时还没有配置这块,所以这里做一个介绍。公司之前有个项目也用了ACM产品,还是不错的,如果后期MSE支持Nacos的配置中心,那我一定 强烈推荐 大家使用这个MSE产品了。

1)Spring Cloud Config Server

为服务端和客户端提供了分布式系统的外部配置支持,配置服务器为各应用的所有环境提供了一个中心化的外部配置。Spring Cloud 配置服务器默认采用 Git 来存储配置信息,其配置存储、版本管理、发布等功能都基于 Git 或其他外围系统来实现。

SpringCloud Config 配置git

支持Profile的方式隔离多个环境,通过在Git上配置多个Profile的配置文件,客户端启动时指定Profile就可以访问对应的配置文件。单独创建一个配置文件的项目,在config server的git中配置即可。

单独创建的配置文件项目,在Spring Cloud Config中指定

Spring Cloud Config原生不支持配置的实时推送,需要依赖Git的WebHook、Spring Cloud Bus和客户端/bus/refresh端点:

a)基于Git的WebHook,配置变更触发server端refresh

b)Server端接收到请求并发送给Spring Cloud Bus

c)Spring Cloud Bus接到消息并通知给客户端

d)客户端接收到通知,请求Server端获取最新配置

2)阿里云ACM(Application Configuration Management)

应用配置管理 ACM 是一款在分布式架构环境中对应用配置进行集中管理和推送的产品。利用 ACM,可以在微服务、DevOps、大数据等场景下极大减轻配置管理的工作量,并增强配置管理的服务能力。这个是官网的介绍,的确功能强大,公司之前的项目也用这个配置过。

应用配置管理 ACM(Application Configuration Management)前身为淘宝内部配置中心 Diamond,现已作为 Nacos 的配置中心模块开源。

关于ACM的使用场景,大家可以点击这个链接查看:https://help.aliyun.com/document_detail/59972.html?spm=a2c4g.11186623.6.546.5a623733KW3wIe 好处很多,我就结合公司的自身项目,说说两个应用场景:

a)微服务应用架构下的配置管理

使用微服务框架的人都知道,随着应用和机器数目的增多,配置管理的工作会变得很繁琐。单个应用下多个机器的配置分发,应用对应用的配置依赖,都将是很麻烦的事情。在传统架构的应用发布过程中,修改一个应用配置就需要将整个应用重新打包发布,整个过程非常繁琐,不仅增加了运维的工作量,而且容易出错。

使用了ACM配置管理中心后,新的配置发布并不依赖配置打包,在新版本的配置发布后,所有应用立即生效,动态更新,这个很方便,下面展示两张ACM的图

传统方式,配置更改需要重新打包
ACM配置方式,动态更新,无需重新打包

b)应用业务场景动态推送

这个场景也是经常要用到的,公司有个奶酪生活的项目,就是淘宝、京东、拼多多返利模式,这个项目运营经理经常要搞活动,展示运营页面,比如618,双十一,马上又要到双十二了,所以运营活动页面经常要变,层出不穷,吸引消费者来使用。如何让前端页面快速响应运营活动、降低开发成本、提高运营效率,也是 ACM 的使用场景之一。

通过在前端 Javascript 埋入 ACM 的配置内容(如三方库版本号,静态资源 URL 等),在运营活动发布时,运营人员可以通过运营工具修改 ACM 配置规则,直接让前端 Javascript 的展示生效。

动态推送网页配置信息,更新更加便捷

3)Nacos

Nacos是阿里开源的,Nacos 支持基于 DNS 和基于 RPC 的服务发现。在Spring Cloud中使用Nacos,只需要先下载 Nacos 并启动 Nacos server,Nacos只需要简单的配置就可以完成服务的注册发现。

Nacos除了服务的注册发现之外,还支持动态配置服务。动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。

一句话概括就是Nacos = MSE + ACM。

另外配置中心还有Apollo,Zookeeper等,不过项目中实际没使用过,所以这里就不提了。


2、总结:

个人还是非常偏好Nacos的,一来开源,现在也有稳定的release版本了,二来支持多种语言,现在运维部署用的是k8s,Nacos对docker,k8s都支持很好,最好的一点,可以把之前Consul(公司前一个项目用的)上的配置通过Nacos Sync同步过来,而且迁移到Nacos上相当的方便。下一篇文章,我们将对主流微服务注册中心产品进行比较 Eureka、Consul、Nacos

本文参考链接:

1、https://help.aliyun.com/document_detail/59957.html?spm=a2c4g.11174283.6.545.48d7613624gxGu

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351