注册中心—注册中心原理

在微服务架构中,注册中心是最核心的基础服务之一,本文将详细介绍下注册中心的组成部分和它们之前的关系。

目录

一、注册中心原理

二、注册中心功能

三、常见的注册中心


一、注册中心原理

注册中心主要涉及到三大角色:服务提供者、服务消费者、注册中心,它们之间的关系大致如下:

  1. 各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据。
  2. 服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口。
  3. 各个微服务与注册中心使用一定机制(例如心跳)通信。如果注册中心与某微服务长时间无法通信,就会注销该实例。
  4. 微服务网络地址发送变化(例如实例增加或IP变动等)时,会重新注册到注册中心。这样,服务消费者就无需人工修改提供者的网络地址了。

注册中心的架构图如下:


 

二、注册中心功能

注册中心应具备以下功能:

  1. 服务注册表 :服务注册表是注册中心的核心,它用来记录各个微服务的信息,例如微服务的名称、IP、端口等。服务注册表提供查询API和管理API,查询API用于查询可用的微服务实例,管理API用于服务的注册与注销。
  2. 服务注册与发现:服务注册是指微服务在启动时,将自己的信息注册到注册中心的过程。服务发现是指查询可用的微服务列表及网络地址的机制。
  3. 服务检查:注册中心使用一定的机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表移除该实例。

Spring Cloud提供了多种注册中心的支持,例如Eureka、Consul和ZooKeeper等,下一篇文章将介绍下利用Eureka搭建注册中心,敬请期待哦。

三、常见的注册中心

结合开发中常用的微服务架构体系,再看注册中心。以下主要以Java体系中常用的微服务框架为例进行说明。

1)Dubbo中的注册中心

Dubbo支持多种注册中心的实现,常用的是Redis、Zookeeper,这些组件本身就可以做到高性能和高可用。在Dubbo架构图中,可以看到注册中心(Registry)位于顶端,所有的服务治理相关的操作都围绕它进行。服务提供者(Provider)注册到注册中心,服务消费者(Comsumer)到注册中心订阅,同时,注册中心中的变更也会通知服务消费者。

 

2)SpringCloud中的注册中心

目前,SpringCloud可以说是最流行的微服务架构,SpingCloud整个体系功能完备,与Spring框架完美契合,开箱即用,极大降低了落地微服务架构的开发成本。在SpringCloud中,也是支持多种注册中心的:

  • Spring Cloud Netflix Eureka
  • Spring Cloud Zookeeper
  • Spring Cloud Consul

以上三种,最常用的主要是Eureka,官方是这样定义的:

Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.

与Dubbo对于服务注册的抽象有所不同,Eureka使用的是C/S架构:

  • Eureka Server,注册中心
  • Eureka Client,服务消费者和服务提供者  

而且,Eureka支持多节点的部署,从而保证高可用。生产环境中,常用的方式是部署两台节点,做成一个P2P的集群。
 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值