微服务注册中心的简单介绍

懒驴 2021年12月16日 432次浏览

对于微服务,相信大家都不会陌生,那么什么是微服务呢?

注册中心的几个概率

服务注册中心主要用来管理服务订阅和发布。对于服务提供者来说,它需要发布服务,对于消费者来说,它需要知道如何获取所需的服务,避免硬编码地址方式。服务注册中心是微服务架构中非常重要的一个组件,在微服务架构中起到了协调者的作用。服务注册中心有以下几个概念:

  • 注册中心(Registry): 服务注册中心
  • 注册中心客户端(Registry Client): 无论是服务提供者还是服务调用者,都算是注册中心的客户端,简称客户端。
  • 注册中心管理端(Registry Console): 注册中心数据的管理端,简称管理端。
  • 服务(Service): 包含一个或者多个接口。例如,商品服务包含查询商品接口、新增商品接口等方法。
  • 服务提供者(Provider): 暴露一个监听端口,提供一到多个服务。
  • 服务调用者(Consumer): 连接服务提供者的端口,发起远程调用。
  • 服务注册(Service Registry): 服务启动后,将服务的相关配置信息(IP、端口)注册到服务注册表中。
  • 服务发现(Service Discovery): 从服务注册表中获取服务配置的过程。

注册中心

分布式微服务都是部署在不同的集群环境的,服务与服务之间需要相互调用。集群A中的服务调用者如何发现集群B中的服务提供者?集群A中的服务如何选择集群B的某一台服务发起调用?集群B中的某台服务提供者下线后,集群A中的服务调用者如何感知下线,是否就不再对下线的机器进行调用?集群B提供的某一台服务如何获取集群A中哪些机器正在消费服务?这一系列问题都是服务注册中心要解决的。服务注册中心的简单感知原理如下图所示。

服务注册中心简单工作原理

  1. 服务提供者启动时,根据服务发布文件中配置的服务发布信息主动向服务注册中心注册自己的服务。
  2. 服务消费者在启动时,将服务提供者信息从注册中心下拉到本地缓存。
  3. 服务注册中心能感知服务提供者集群中某一台机器下线,将该机器的服务提供者信息从注册中心删除,并主动通知服务消费者集群中的每一台机器,使得服务消费者不再调用该机器。
  4. 服务消费者从本地缓存的服务提供者地址列表中,基于负载均衡算法选择一台服务提供者进行调用。