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

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

内容简介:在微服务架构中,注册中心是核心的基础服务之一。在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。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 小结

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

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


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

查看所有标签

猜你喜欢:

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

互联网的误读

互联网的误读

詹姆斯•柯兰(James Curran)、娜塔莉•芬顿(Natalie Fenton)、德 斯•弗里德曼(Des Freedman) / 何道宽 / 中国人民大学出版社 / 2014-7-1 / 45.00

互联网的发展蔚为壮观。如今,全球的互联网用户达到20亿之众,约占世界人口的30%。这无疑是一个新的现象,对于当代各国的经济、政治和社会生活意义重大。有关互联网的大量大众读物和学术著作鼓吹其潜力将从根本上被重新认识,这在20世纪90年代中期一片唱好时表现尤甚,那时许多论者都对互联网敬畏三分,惊叹有加。虽然敬畏和惊叹可能已成过去,然而它背后的技术中心主义——相信技术决定结果——却阴魂不散,与之伴生的则......一起来看看 《互联网的误读》 这本书的介绍吧!

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

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具