##微服务必备的几样武器有了,才能独闯武林, 有哪几样呢?

  • 注册中心(eureka, consul, zk, etcd)
  • 配置中心 (Spring Cloud Config, disconf )
  • API网关 (Spring Cloud zuul, kong)
  • 熔断器 (hystrix)
  • 链路追踪 (sleuth)
  • 统一日志管理 (ELK)
  • 自动化部署 (jenkins + Docker)

今天我们主要讲下同样是非常重要的一项,配置中心,当然官方提供的解决方案就是Spring Cloud Config

它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git,SVN等仓库中

在Spring Cloud Config组件中,分两个角色,一是config server,二是config clien

在做技术调研的时候我也研究了下Spring Cloud Config,主要有以下特性

  • 配置集中管理
  • 依赖于git支持版本回退
  • 可以通过git 仓库的WebHook和消息队列来实现自动更新
  • 配置加密解密
  • 可以通过调用接口手动更新配置

还有就是国内的disconf, disconf 可以为各种业务平台提供统一的配置管理服务。

  • 支持配置(配置项+配置文件)的分布式化管理
  • 配置发布统一化
  • 极简的使用方式(注解式编程 或 XML代码无代码侵入模式)
  • 低侵入性或无侵入性、强兼容性
  • 需要Spring编程环境

虽然有很多选择,如果说是Spring Cloud来构建微服务,那么Spring Cloud Config肯定是比较好的一个选择,集成非常方便

但是呢,自动更新那块我感觉不是很好,要依赖WebHook来做,统一更新的话还得将config server前面加一负载均衡,然后对server进行刷配置的通知

还有就是关于配置修改之后的回调事件,目前没找到合适的方法

disconf 也是一个很好的作品,但是呢,也是个人开源的,也不维护了,也许功能够用了

基于以上的一些调查,我还是觉得自己写一个,可以提升一下自己,再而有问题,加新特性,也比较方便

我取了一个很随便的名称Smconf, 意思就是很简单的配置管理

github: https://github.com/yinjihuan/smconf

目前的功能点如下:

  • 提供配置的统一管理
  • 多个环境(生产环境:prod, 线上测试环境:online, 线下测试环境:test, 开发环境:dev)
  • web后台配置管理
  • 配置修改后实时同步到使用的客户端
  • 无缝集成spring和spring boot项目
  • 非spring项目中也可以使用
  • web后台支持不同账号管理不同环境的配置
  • 支持水平扩容,负载,部署多个server,client自动发现
  • 支持用户自定义配置修改回调接口做扩展

有了这个配置中心我们就可以做很多事情了

比如在API网关中我们可以做到

  • 动态限流
  • 动态对IP进行限制
  • 动态对服务进行降级
  • 灰度发布

配置修改实时生效,不在需要一台台去重启服务了

欢迎加入我的知识星球,一起交流技术,免费学习猿天地的课程(http://cxytiandi.com/course)

PS:目前星球中正在星主的带领下组队学习Sentinel,等你哦!

Spring Cloud 如何选择分布式配置中心相关推荐

  1. Spring Cloud Alibaba Nacos 分布式配置中心

    文章目录 1 摘要 2 核心 Maven 依赖 3 核心代码 3.1 bootstrap 配置文件 3.2 application 配置文件 3.3 配置测试类 - Controller 层 3.4 ...

  2. Spring Cloud入门-Config分布式配置中心(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Spring Cloud Config 简介 在Git仓库中准备配置信息 配置仓库目录结构 master分支下的配置信息 dev分支下的配置信息 ...

  3. Spring Cloud Alibaba —— Nacos Config 配置中心

    导航 引言 一.什么是配置中心 二.常见的配置中心组件 三.Nacos Config 入门 四.Nacos Config 动态配置 4.1 硬编码方式(默认支持动态生效) 4.2 属性注入 五.配置共 ...

  4. Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)

    技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...

  5. Spring Cloud(15)——配置中心

    Spring Cloud Config Spring Cloud Config提供分布式配置功能,它包含Server和Client两部分.Server负责提供统一的配置信息,Client负责从Serv ...

  6. Spring Cloud Alibaba Nacos 分布式配置

    Spring Cloud Alibaba 分布式配置 1. 简介 Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spr ...

  7. Spring Cloud Alibaba——Nacos服务配置中心

    Nacos服务配置中心 建Module 改Pom 改yml Nacos端操作 写启动类 写controller层 测试 Tips 简单记录下使用Nacos作为服务配置中心,此篇建立在上篇的Nacos服 ...

  8. Spring Cloud 采用Consul做配置中心

    -----------------pom.xml依赖,主要是spring-cloud-starter-consul-config <dependency><groupId>or ...

  9. Spring Cloud 系列之 Nacos 配置中心

    目录 一.Nacos简介 二.Nacos安装及配置 1.环境准备 2.安装包下载 (1)源码方式 (2)发行包方式 3.启动Nacos服务 4.Nacos数据库配置 (1)MySQL数据源 (2)初始 ...

最新文章

  1. 牛!这位斯坦福PhD新生的论文被引数:接近4万
  2. 高级软件工程第九次作业:东理三剑客团队作业-随笔2
  3. 程序员面试金典 - 面试题 02.06. 回文链表(快慢指针+链表反转)
  4. nvprof 使用记录; 以及使用 nvprof 查看tensorflow-gpu 核函数运行记录
  5. 232 Crossword Answers
  6. 九大背包问题专题--二维费用的背包问题
  7. java day20【字节流、字符流】
  8. LitJson不支持float
  9. 11-11 11:11
  10. Python学习-第3课(函数作用域、列表集合字典元祖)
  11. 报错 AttributeError: ‘scipy.spatial.transform._rotation.Rotation‘ object has no attribute ‘as_dcm‘
  12. IPv6 NDP——邻居发现协议
  13. 苹果手机免越狱群控无需硬件即插即用高清投屏控制操作
  14. eclipse 项目中搜索资源(类方法,文件名,文件中的字符串)
  15. web直传cos(腾讯云)图片视频
  16. 国家统计局固定资产投资统计
  17. 基于矢量切片的电子地图配图(三)配图准备
  18. 8个企业微信的功能,你知道几个,喜欢用哪个?
  19. 联发科(MTK)MT6771 安卓核心板 安卓主板方案知识分享
  20. CPU性能由主频决定吗?

热门文章

  1. 拨号上网与宽带上网有什么区别?
  2. Java:使用Robot类模拟键盘, 以Alt码方式输出汉字
  3. android spinner 按钮,android sqlite和spinner的用法示例
  4. 三星S5PV210Android系统下LED灯驱动程序
  5. 19 款仿 Bootstrap 后台管理主题免费下载
  6. netstat命令使用详解
  7. [附源码]java毕业设计家居装修网站
  8. 定位:相对定位和绝对定位
  9. Html Select 使用selected属性设置默认选择项
  10. Elasticsearch7 分词器(内置分词器和自定义分词器)