微服务的注册中心:记录了服务和服务地址的映射关系.在分布式架构中,服务会注册到这里,当服务需要调用其他服务时,就在这里找到服务的地址,进行调用.
注册中心包含:
1-服务发现
服务注册/反注册:保存服务提供者和服务调用者的信息
服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
服务路由(可选):具有筛选整合服务提供者的能力
2-服务配置
配置订阅:服务提供者和服务调用者订阅微服务相关的配置
配置下发:主动将配置推送给服务提供者和服务调用者
3-服务健康检测
检测服务提供者的健康情况
常见的注册中心:
1-zookeeper
是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务,状态同步服务,集群管理,分布式应用配置项的管理等.简单来说,zookeeper=文件系统+监听通知机制
2-Eureka
是在Java语言上,基于Restful Api开发的服务注册与发现组件,Springcloud Netflix中的重要组件
3-Consul
是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查.
4-Nacos
CAP原理
C:一致性 ---多节点数据一致
A:可用性 ---保持服务可用:多节点
P:分区容忍性 ---是否可以将数据存到多个地方
不能同时满足C,A,P
AC :放弃分区容忍,物理数据库
AP:可以短暂允许数据不一致 ,nosql数据库
CP:放弃可用性