微服务架构中注册中心Zookeeper和Eureka我们应该怎么选?

微服务架构中,注册中心是关键组件,如Zookeeper和Eureka。Zookeeper遵循CP原则,保证数据一致性但可能影响服务可用性;Eureka则遵循AP原则,确保高可用,允许短暂不一致。在服务配置不常变动的情况下,Eureka更适合注册中心。但在实际应用中,小型集群可能更倾向于选择Zookeeper。
摘要由CSDN通过智能技术生成

背景

因为注册中心是微服务架构中最核心的基础服务之一,在选择注册中心方案之前,我们先了解以下什么是微服务架构。

在Monolithic架构中我们经常会面临以下问题:

  1. 系统间以api的形式互相访问,导致系统之间紧密的耦合在一起难以维护

  2. 不同的业务需要相同的技术栈,无法快速应用新技术

  3. 系统任何修改都必须整个系统一起部署,维护成本高

  4. 系统负载增加时候,难以水平拓展

  5. 一个问题影响全局

为了解决这些问题,微服务架构就产生了,微服务是一种架构风格,也就说将复杂的应用拆分成多个独立的服务,服务之间通过松耦合的方式调用。在松耦合方式中注册中心扮演了重要的角色。注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。

目前经常被用到作为注册中心的有Zookeeper和Eureka,那么此时我们就会纠结如何去选择这两个注册中心,下面我们来系统的学习这两种注册中心的原理和优劣势,这样才能在架构搭建中合理的选择注册中心。

注册中心概念

注册中心涉及三大角色

● 服务提供者

● 服务消费者

● 注册中心

他们之间的关系主要是

● 各个服务启动的时候,将自己网络地址等信息记录到注册中心

● 服务消费者从注册中心查询服务提供者提供的服务,并通过对应的地址调用服务提供者的api

● 微服务与注册中心使用心跳机制通信,如果注册中心与微服务长时间无法通信,就会注销该服务实例

注册中心架构图:

注册中心的主要作用

在微服务架构中,注册中心主要起到了协调者的作用,主要有以下功能

1. 服务发现

服务注册/反注册:保存服务提供者和服务调用者的信息

服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能

服务路由(可选):具有筛选整合服务提供者的能力。

2. 服务配置

配置订阅:服务提供者和服务调用者订阅微服务相关的配置

配置下发:主动将配置推送给服务提供者和服务调用者

3. 服务健康检测

检测服务提供者的健康情况

Zookeeper和Eureka如何选择

在分布式架构中往往伴随CAP的理论。因为分布式的架构,不再使用传统的单机架构,多机为了提供可靠服务所以需要冗余数据因而会存在分区容忍性P。

冗余数据的同时会在复制数据的同时伴随着可用性A 和强一致性C的问题。是选择停止可用性达到强一致性还是保留可用性选择最终一致性。通常选择后者。其中 Zookeeper 和 Eureka分别是注册中心CP AP 的两种的实践。

Zookeeper概述

ZooKeeper主要为大型分布式计算提供开源的分布式配置服务、同步服务和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值