基于2.2.1.RELEASE版本, >>>官方文档<<<
衡量指标:
Vault是一个有web界面的配置存储和管理工具,成熟现代的商业软件同时有开源的社区版。就这个软件来说功能齐全,社区热度高持续迭代中。
研究Vault时,看到官网有提到相关比较,顺便看了看
Consul不仅仅是一个服务注册与发现中间件,同时还能提供配置存储管理能力,这一点确实很地道的功能。要是你的服务注册发现正好使用的是consul,推荐直接采用同时作为配置管理,因为consul在高可用、高扩展、存储上能力非常强,不需要过多解释。
研究Vault时,看到官网有提到相关比较,顺便看了看
自动化服务器配置管理工具,比较适合服务器级别的运维,可以进行脚本模版化运行,是DevOps中运维自动化模块解决方案之一,有开源版本和商业版本。采用Ruby开发,有web界面,很多大型公司在用,社区热度足够。Chef工具的使用,可以让运维具备一定的开发能力。
优质学习资源
https://blog.csdn.net/zhaihaifei/article/details/44649789
https://blog.csdn.net/zzq900503/article/details/80143740
https://www.ibm.com/developerworks/cn/cloud/library/1407_caomd_chef/
https://docs.chef.io/本地文件系统作为后台存储系统,这种方式在集成上是最简单的,但日常维护工作很不方便。平时学习可以采用,但是生产环境不推荐。
采用VCS(SVN)这样文档版本控制系统,文件存储也是直接放在系统中,依赖系统的文件系统,这种方案太落后直接放弃。
这两个都是基于云环境的配置管理框架,或者说是一种实现方案,两者都是很好但不是我此刻研究方向,不深入。
一个是传统关系型数据库,一个是新型内存数据库,都能做到数据持久化、技术对接成本低、适用性广。另外,和大多数公司当前的系统容易对接,相信随便找家公司mysql服务应该有的,redis也是基本互联网公司标配。
采用这两种任意一个都是没啥问题的,也都用一些相应manage client工具可以来维护。作为一个优秀的程序员,这两个方案总觉得不完美,最好能在这个基础上开发自己的management。
Git是官方默认支持配置管理方案,文档最齐全,同时官方更新支持可靠。官方推荐和公开免费的Github系统集成,考虑到Github毕竟是三方的系统,还在国外,相信没有哪家公司愿意把自己服务的配置信息放到别人公司。安全上就不过关,直接被PASS掉,作为github的本地化方案的gitlab成为了首选。
gitlab也是分为企业版和社区版,支持Web方式管理,企业版是要收费的但是功能更方便。
另外,gitlab社区版源码并不在github上(两家是竞争对手),除了github外,全球第二大代码托管中心就是gitlab了。
社区代码: https://gitlab.com/gitlab-org/gitlab/
目前看下来,一般的互联网企业只能在GitLab/Vault/JDBC/Redis中选择了,传统企业可能更喜欢稳定持续的云方案AWS S3/CredHub,但是国内没有云厂商在SpringCloud清单中。相信国内大的云厂商早晚都会有这方便的支持的,毕竟私有云和混合云方向很好。
研发能力不错但不希望投入太多研发力量的,推荐Gitlab或Vault,直接购去买企业版,省事放心。 研发能力自信的就选Gitlab和Vault开源版本,能够重构并加上自己公司的个性化。开源中间件的自定义开发是有难度的,量力而行,坑很多,可能把你拖死。
研发能力不太强的,可以直接Redis或者jdbc,最简单了随便找个开发工程师就能做。
作者:Owen Jia
博客地址: https://blog.shareworld.vip