Hello朋友们,在之前参加云原生活动的时候曾写过一篇文章《浅谈云原生技术组件—etcd》,在其中我主要说明了etcd在基于Kubernetes云原生微服务框架中的定位,主要是用来做服务的远程配置、KV存储等等,那么今天就来简要的补充讲解下etcd的另一个重要的作用——服务注册和发现,没错,正是和Zookeeper、Eureka、Consul等拥有一样角色的开源微服务组件,且毫不逊色于这些,那么我们就开始进行讲解。

1 基于etcd的服务注册与发现逻辑架构

1.1 服务注册中心抽象

在这里插入图片描述 (图片来自网络)

  • Service Registry(服务注册表,通常也成为服务注册中心):内部拥有一个数据结构,用于存储已发布服务的配置信息。注册中心的作用一句话概括就是存放和调度服务的配置,实现服务和注册中心,服务和服务之间的相互通信,可以说是微服务中的”通讯录“,它记录了服务和服务地址的映射关系。
  • Service Requestor(服务调用者):根据服务注册中心调用已有服务。
  • Service Provider(服务提供者):提供服务到服务注册中心。

1.2 etcd服务注册发现简易版

在这里插入图片描述