微服务架构基础之注册中心

栏目: 服务器 · 发布时间: 5年前

内容简介:在微服务架构中,注册中心是核心的基础服务之一。在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用,Dubbo是一个非常实用的框架,提供了比较完善的服务治理功能,而服务治理的实现主要依靠的就是注册中心。注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。

微服务架构基础之注册中心

在微服务架构中,注册中心是核心的基础服务之一。在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用,Dubbo是一个非常实用的框架,提供了比较完善的服务治理功能,而服务治理的实现主要依靠的就是注册中心。

1 什么是注册中心

注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。

微服务架构基础之注册中心

举个现实生活中的例子,比如说,我们手机中的通讯录的两个使用场景:

  1. 当我想给张三打电话时,那我需要在通讯录中按照名字找到张三,然后就可以找到他的手机号拨打电话。

  2. 李四办了手机号,那么他把手机号告诉我,我把李四的号码存进通讯录,后续,我就可以从通讯录找到他。

上述两个场景就是我们在微服务架构中常常提到的:

  1. 服务发现

  2. 服务注册

2 为什么需要注册中心

了解了什么是注册中心,那么我们继续谈谈,为什么需要注册中心。

在分布式系统中,我们不仅仅是需要在注册中心找到服务和服务地址的映射关系这么简单,我们还需要考虑更多更复杂的问题:

  1. 服务注册后,如何被及时发现

  2. 服务宕机后,如何及时下线

  3. 服务如何有效的水平扩展

  4. 服务发现时,如何进行路由

  5. 服务异常时,如何进行降级

  6. 注册中心如何实现自身的高可用

这里问题的解决都依赖于注册中心。简单看,注册中心的功能有点类似于DNS服务器或者负载均衡器,而实际上,注册中心作为微服务的基础组件,可能要更加复杂,也需要更多的灵活性和时效性。

3 常见的注册中心

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

3.1 Dubbo中的注册中心

Dubbo支持多种注册中心的实现,常用的是:

  • Redis

  • Zookeeper

此处,可以看到,以上的实现主要是为了集中存储服务的信息。而这些组件本身就可以做到高性能和高可用。

微服务架构基础之注册中心

Dubbo官方架构图

在Dubbo架构图中,可以看到注册中心(Registry)位于顶端,所有的服务治理相关的操作都围绕它进行。服务提供者(Provider)注册到注册中心,服务消费者(Comsumer)到注册中心订阅,同时,注册中心中的变更也会通知服务消费者。

3.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架构:

  1. Eureka Server,注册中心

  2. Eureka Client,服务消费者和服务提供者  

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

4 小结

本文主要从概念上对微服务架构中的注册中心进行分析讲解,让读者从宏观上去理解注册中心。文中主要以常见的注册中心为例,当然,在其他的微服务架构体系中,这些原理是基本类似的。读者可以结合自己的实际开发经验,理解注册中心的概念,从而更好地驾驭微服务。
持续获得最新文章,关注我:

微服务架构基础之注册中心


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创京东

创京东

李志刚 / 中信出版社 / 2015-5-1 / CNY 49.80

1998年,刘强东创业,在中关村经销光磁产品。2004年,因为非典,京东偶然之下转向线上销售。2014年,京东市值已超400亿美元,跻身全球前十大互联网公司之列。 这是一个听起来很传奇的创业故事,但只有当事人了解创业维艰。 刚转向电商时,传统企业前景光明,而电商看起来前途未卜,京东如何能毅然转型并坚持到底?资金匮乏的时候,京东靠什么说服投资人?在强大的对手面前,京东靠什么反超并一路领先......一起来看看 《创京东》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码