Spring Cloud 系列之 Netflix Eureka 注册中心(一)

服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。

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

  

什么是注册中心

  

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

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

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

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

李四办了手机号并把手机号告诉了我,我把李四的号码存进通讯录,后续,我就可以从通讯录找到他。—— 服务注册

通讯录 —— ?什么角色(提示:服务注册中心)

  总结:服务注册中心的作用就是服务的注册服务的发现

  

常见的注册中心

  

Netflix Eureka

Alibaba Nacos

HashiCorp Consul

Apache ZooKeeper

CoreOS Etcd

CNCF CoreDNS

  

特性 Eureka Nacos Consul Zookeeper
CAP   AP   CP + AP   CP   CP  
健康检查   Client Beat   TCP/HTTP/MYSQL/Client Beat   TCP/HTTP/gRPC/Cmd   Keep Alive  
雪崩保护          
自动注销实例   支持   支持   不支持   支持  
访问协议   HTTP   HTTP/DNS   HTTP/DNS   TCP  
监听支持   支持   支持   支持   支持  
多数据中心   支持   支持   支持   不支持  
跨注册中心同步   不支持   支持   支持   不支持  
SpringCloud集成   支持   支持   支持   支持  

  

为什么需要注册中心

  

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

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

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

服务如何有效的水平扩展

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

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

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

  这些问题的解决都依赖于注册中心。简单看,注册中心的功能有点类似于 DNS 服务器或者负载均衡器,而实际上,注册中心作为微服务的基础组件,可能要更加复杂,也需要更多的灵活性和时效性。所以我们还需要学习更多 Spring Cloud 微服务组件协同完成应用开发。

  

注册中心解决了什么问题

  

服务管理

服务的依赖关系管理

  

什么是 Eureka 注册中心

  

  Eureka 是 Netflix 开发的服务发现组件,本身是一个基于 REST 的服务。Spring Cloud 将它集成在其子项目 Spring Cloud Netflix 中,实现 Spring Cloud 的服务注册与发现,同时还提供了负载均衡、故障转移等能力。

  

Eureka 注册中心三种角色

  

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

Eureka Server

  

  通过 Register、Get、Renew 等接口提供服务的注册和发现。

  

Application Service(Service Provider)

  

  服务提供方,把自身的服务实例注册到 Eureka Server 中。

  

Application Client(Service Consumer)

  

  服务调用方,通过 Eureka Server 获取服务列表,消费服务。

  

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

  

Eureka 入门案例

  

创建项目

  

  我们创建聚合项目来讲解 Eureka,首先创建一个 pom 父工程。

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

Spring Cloud 系列之 Netflix Eureka 注册中心(一)

  

添加依赖

  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwfsd.html