SpringCloud分布式配置中心选型

比特漫游
• 阅读 2185

分布式配置中心解决方案:Spring Cloud Config

基于2.2.1.RELEASE版本,>>>官方文档<<<

衡量指标:

  • 有靠谱的web管理系统,至少常规的配置参数管理功能,如:修改、删除、新增等
  • 要有比较高服务稳定性
  • 最好能支持分布式,长远考虑有利于扩展
  • 开源,至少有开源版本
  • 有热度,使用和维护的人多,大厂背书
  • 开发语言不能是小众的,最好是主流的语言
  • 部署实施简单,有容器化版本是最好
  • 数据存储和备份支持,能恢复
  • 系统独立性好,不能有太多三方依赖

Vault

Vault是一个有web界面的配置存储和管理工具,成熟现代的商业软件同时有开源的社区版。就这个软件来说功能齐全,社区热度高持续迭代中。

Consul

研究Vault时,看到官网有提到相关比较,顺便看了看

Consul不仅仅是一个服务注册与发现中间件,同时还能提供配置存储管理能力,这一点确实很地道的功能。要是你的服务注册发现正好使用的是consul,推荐直接采用同时作为配置管理,因为consul在高可用、高扩展、存储上能力非常强,不需要过多解释。

Chef

研究Vault时,看到官网有提到相关比较,顺便看了看

自动化服务器配置管理工具,比较适合服务器级别的运维,可以进行脚本模版化运行,是DevOps中运维自动化模块解决方案之一,有开源版本和商业版本。采用Ruby开发,有web界面,很多大型公司在用,社区热度足够。Chef工具的使用,可以让运维具备一定的开发能力。

优质学习资源
https://blog.csdn.net/zhaihai...
https://blog.csdn.net/zzq9005...
https://www.ibm.com/developer...
https://docs.chef.io/

File System

本地文件系统作为后台存储系统,这种方式在集成上是最简单的,但日常维护工作很不方便。平时学习可以采用,但是生产环境不推荐。

Version Control Filesystem

采用VCS(SVN)这样文档版本控制系统,文件存储也是直接放在系统中,依赖系统的文件系统,这种方案太落后直接放弃。

AWS S3 & CredHub

这两个都是基于云环境的配置管理框架,或者说是一种实现方案,两者都是很好但不是我此刻研究方向,不深入。

JDBC & Redis

一个是传统关系型数据库,一个是新型内存数据库,都能做到数据持久化、技术对接成本低、适用性广。另外,和大多数公司当前的系统容易对接,相信随便找家公司mysql服务应该有的,redis也是基本互联网公司标配。

采用这两种任意一个都是没啥问题的,也都用一些相应manage client工具可以来维护。作为一个优秀的程序员,这两个方案总觉得不完美,最好能在这个基础上开发自己的management。

Git & Github & GitLab

Git是官方默认支持配置管理方案,文档最齐全,同时官方更新支持可靠。官方推荐和公开免费的Github系统集成,考虑到Github毕竟是三方的系统,还在国外,相信没有哪家公司愿意把自己服务的配置信息放到别人公司。安全上就不过关,直接被PASS掉,作为github的本地化方案的gitlab成为了首选。

gitlab也是分为企业版和社区版,支持Web方式管理,企业版是要收费的但是功能更方便。

另外,gitlab社区版源码并不在github上(两家是竞争对手),除了github外,全球第二大代码托管中心就是gitlab了。

社区代码:https://gitlab.com/gitlab-org...

总结推荐

传统大中型公司

目前看下来,一般的互联网企业只能在GitLabVaultJDBCRedis中选择了,传统企业可能更喜欢稳定持续的云方案AWS S3CredHub,但是国内没有云厂商在SpringCloud清单中。相信国内大的云厂商早晚都会有这方便的支持的,毕竟私有云和混合云方向很好。

有一定研发能力互联网公司

研发能力有但不希望投入太多研发力量的,推荐Gitlab或Vault,直接购去买企业版,省事放心。
研发能力自信的就选Gitlab和Vault开源版本,能够重构并加上自己公司的个性化。开源中间件的自定义开发是有难度的,量力而行,坑很多,可能把你拖死。

小型互联网公司

研发能力不太强的,可以直接Redis或者jdbc,最简单了随便找个开发工程师就能做。


作者:Owen Jia
个人博客: https://blog.shareworld.vip

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Stella981 Stella981
4年前
ASMSupport教程4.7 生成关系运算符
<p在java中,关系运算符是很常用的,分别是&gt;,,&lt;,&gt;,&lt;,!这六种,我们按照惯例看看我们需要生成的代码:</p<divid"scid:9D7513F9C04C4721824A2B34F0212519:dfec0f1ca2ec4ebabc9b91c161fbfa47"class"wlWri
Stella981 Stella981
4年前
Spring Cloud Alibaba Nacos 服务配置中心和注册中心
学习在SpringCloud中使用Nacos实现服务配置中心和注册中心,类似SpringCloudConfig和SpringCloudNetflixEureka提供的功能。1概述SpringCloudAlibaba是阿里巴巴提供的一套微服务开发一站式解决方案。主要提供的功能:分布式配置中心
Easter79 Easter79
4年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
4年前
4,MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB
MongoDB中的关键字有很多,$lt$gt$lte$gte等等,这么多我们也不方便记,这里我们说说几个比较常见的一.查询中常见的等于大于小于大于等于小于等于等于:在MongoDB中什么字段等于什么值其实就是":"来搞定比如"name":"路飞学城"!(https://oscimg.oschin
Wesley13 Wesley13
4年前
MongoDB 范围查询
查询价格在2009000  $gt 大于   $lt  小于//查询价格2009000范围的数据db.prodgory.find({"price":{$gt:"200",$lt:"9000"}})查询给定范围数据  $in//给定范围查询db.product1.find({"categor
小万哥 小万哥
1年前
资源描述框架的用途及实际应用解析
RDF(资源描述框架)是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括&lt;rdf:RDF&gt;根元素和&lt;rdf:Description&gt;元素,后者用about属性标识资源。RDF还支持容器(如&lt;Bag&gt;、&lt;Seq&gt;和&lt;Alt&gt;)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文档。
小万哥 小万哥
1年前
RSS 解析:全球内容分发的利器及使用技巧
RSS(ReallySimpleSyndication)是一种XML格式,用于网站内容的聚合和分发,让用户能快速浏览和跟踪更新。RSS文档结构包括&lt;channel&gt;和&lt;item&gt;元素,允许内容创作者分享标题、链接和描述。通过RSS,用户可以定制新闻源,过滤不相关信息,提高效率。RSS支持不同版本,如RSS0.91和RSS2.0,其中RSS2.0语法简单且广泛使用。RSS提高网站流量,适用于新闻、博客、日历等频繁更新的站点。RSS的历史始于1997年,至今仍无官方标准,但已成为内容共享的重要工具。