1.Spring Cloud是什么
Spring Cloud为开发者提供了一套快速开发分布式系统的组件,Spring Cloud并不推荐重复造轮子,主张利用Spring Boot将其他公司比较成熟的组件进行封装
核心概念:
- 配置中心
- 注册中心
- 服务网关
- 负载均衡
- RPC调用
- 服务熔断
- 服务降级
- 服务限流
- 全局锁
- 控制总线
- 分布式事务
- 服务安全
- 链路追踪
- 集群管理
- 事件驱动
- 任务调度
- 云连接器
- 函数计算
2.分布式配置中心
由来:微服务系统开发中,存在很多功能开关和各种参数的配置项,传统的配置文件、数据库等方式无法满足开发人员对配合管理的需求,此时分布式配置中心应运而生。
特点:统一管理、区分环境、实时刷新、权限控制、版本发布、灰度发布
-
配置统一管理:配置中心服务端负责配置的管理(新增、修改、删除、发布),集成了配置中心客户端的微服务程序可以统一从配置中心服务端拉取配置,从而实现整个微服务系统的统一配置管理
-
区分不同环境配置:一个微服务应用中的某些配置项,在不同的环境(开发、测试、生产)通常是不同的,作为分布式配置中心需要具有隔离不同环境的功能,使得同一微服务在不同环境能拉取到对应的配置
-
配置动态实时刷新:当配置中心服务端的配置发生了修改时,配置中心客户端需要实时监听到配置的改变,使得微服务应用程序可以实时获取到最新配置,并不用重新部署应用程序
-
配置的权限控制:在配置中心中,可以针对不同的角色或用户设置对应的权限。
-
配置的版本控制:在使用配置中心的过程中,难免会出现误操作,而这个时候就需要进行版本回退,所以作为配置中心,是一定要支持版本控制的。
-
配置的灰度发布:在需要发布一项配置时,如果需要发布多个实例(集群),那么此时可以只发布到部分实例,待测试通过后,再发布到全部实例,这就是配置的灰度发布
3.分布式注册中心
注册中心相当于微服务架构中的地址通讯录,每个微服务会将服务及其地址注册到注册中心,服务消费者在调用某个微服务之前会先从注册中心查找服务地址,然后进行调用。