Eureka注册中心

1.什么是注册中心

随着微服务的流⾏与流量的激增, 机器规模逐渐变⼤, 并且机器会有频繁的上下线⾏为, 这种时候需要运维⼿动地去维护这个配置信息是 ⼀个很⿇烦的操作. 所以开发者们开始希望有这么⼀个东西, 它能维护⼀个服务列表, 哪个机器上线了, 哪个机器宕机了, 这些信息都会⾃动更新到服务列表上, 客⼾端拿到这个列表, 直接进⾏服务调⽤即可. 这个就是注册中⼼.
注册中心主要有三种角色
  • 服务提供者:一次业务中,被其他微服务调用的服务,也就是提供接口给其他服务。
  • 服务消费者:一次业务中,调用其他微服务的服务,也就是调用其他微服务提供的接口。
  • 服务注册中心:用于保存server的注册信息,当server节点发生变更时,注册中心会同步变更,服务与注册中心使用一定机制通信,如果注册中心与某服务长时间无法通信,就会注销该实例。

他们之间的关系和工作内容可以用两个概念来描述

服务注册:服务提供者在启动时,向注册中心注册自身服务,并向注册中心定期发送心跳汇报存活状态。

服务发现:服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口,服务发现的一个重要作用就是提供给服务消费者一个可用的服务列表。

 

2.CAP理论

CAP理论时分布式系统设计中最基础,最关键的理论。

一致性:CAP理论中的一致性是指强一致性,所有节点在同一时间具有相同的数据。

可用性:保证每个请求都有响应(响应结果可能不对)。

分区容错性:当出现网络分区后,系统仍能够对外提供服务。

就好比一个部分在全国各地都有岗位,总部下发一个通知,由于通知需要开会全部通知,当有客户咨询时:

所有成员对客户的回应是一致的(一致性)

客户咨询时,一定有回应(可用性)

当其中一个成员休假时,这个部门的其他成员也可以对客户提供咨询服务(分区容错性)

 但是一个分布式系统不能同时满足这三个基本需求,最多满足两个,因为系统间网络不能一直保证健康,服务又必须对外保障服务,所以只能选择CP或者AP架构。

CP架构:为了保证分布式系统对外的数据一致性,于是选择不返回数据

AP架构:为了保证分布式系统的可用性,会有节点返回旧数据(即便这个数据不正确)

3.常见的注册中心

  1. Zookeeper
    Zookeeper的官⽅并没有说它是⼀个注册中⼼, 但是国内Java体系, ⼤部分的集群环境都是依赖Zookeeper来完成注册中⼼的功能
  2. EurekaEureka是Netflix开发的基于REST的服务发现框架, 主要⽤于服务注册, 管理,负载均衡和服务故障转移
  3. Nacos
    Nacos是Spring Cloud Alibaba架构中重要的组件, 除了服务注册, 服务发现功能之外, Nacos还⽀持配置管理, 流量管理, DNS, 动态DNS等多种特性

4.Eureka介绍

Eureka主要分为两个部分:

  • Eureka Server:作为注册中心Server端,向微服务应用程序提供服务注册,发现,健康检查等能力
  • Eureka Client:服务提供者,服务启动时,会向Eureka Server注册自己的信息,Eureka Server会存储这些信息。

搭建Eureka Server

引入eureka-server依赖

项目构建插件

完善启动类

配置文件

启动服务,访问注册中心

在我的这个简单微服务系统中,有三个项目:

接下来就要把product-service跟order-service注册到eureka-server中了

服务注册

在product-service跟order-service中引入eureka-client依赖跟完善配置文件后就可以启动服务了。

可以看到这两个服务已经注册到eureka上了。

服务发现

接下来使用远程调用来使product-service返回的结果跟order-service的结果融合在一起返回给调用方。

访问接口可以发现,远程调用也成功了

5.Eureka 和Zookeeper区别

Eureka和Zookeeper都是⽤于服务注册和发现的⼯具,区别如下:
1. Eureka是Netflix开源的项⽬, ⽽Zookeeper是Apache开源的项⽬.
2. Eureka 基于AP原则, 保证⾼可⽤, Zookeeper基于CP原则, 保证数据⼀致性.
3. Eureka 每个节点 都是均等的, Zookeeper的节点区分Leader 和Follower 或 Observer, 也正因为这 个原因, 如果Zookeeper的Leader发⽣故障时, 需要重新选举, 选举过程集群会有短暂时间的不可⽤.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值