什么是服务治理
- 服务治理是微服务架构中最核心最基本的模块
- 用于实现各个微服务的自动化注册与发现
- 注意是自动化
服务注册
- 在服务治理框架中,都会构建一个注册中心
- 每个服务单元向注册中心登记自己提供服务的详细信息,并在注册中心形成一张类似服务的清单
- 服务注册中心需要以心跳的方式去监测清单中的服务是否可用
- 如果不可用,需要在服务清单中剔除不可用的服务
服务发现
- 服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单
- 实现对具体服务实例的访问
常见的注册中心
Eureka
- Eureka 学过Spring Cloud的大家知道
- 它是Springcloud Netflix中的重要组件,主要作用就是做服务注册和发现
- 它好像是2018年7月份,说闭源了,具体原因好像挺复杂,大家可以自己去了解
Nacos
- Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
- 它致力于帮助发现、配置和管理微服务
- 它是 SpringCloud Alibaba 组件之一负责服务注册发现和服务配置
- 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理
- 它其实等于
eureka
config
Zookeeper
- 对与zookeeper大家应该也熟悉
- zookeeper是一个分布式服务框架
- 它是Apache Hadoop 的一个子项目,主要是用来解决分布式应用中经常遇到的一些数据管理问题
- 统一命名服务
- 状态同步服务、
- 集群管理、
- 分布式应用配置项的管理
- 等
Consul
- Consul是基于GO语言开发的开源工具
- 主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能
- 本身只是一个二进制的可执行文件,所以
- 安装和部署都非常简单,只需要从官网下载后,在执行对应的启动脚本即可
- Consul的功能都很实用,其中包括:
- 服务注册/发现
- 健康检查
- Key/Value存储
- 多数据中心和分布式一致性保证等特性