文档章节

spring cloud(第三部)注册中心的选择

白中墨
 白中墨
发布于 06/10 20:26
字数 772
阅读 77
收藏 1

CP与AP的概念

  • 什么是CAP
    CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得

zookeeper与eureka

  • 特性比较

  • 应用场景分析
    1、从功能上看,eureka的定位是作为一个注册中心存在,而对于zookeeper,服务注册只是它的一个基础功能
    2、eureka和zookeeper一样,都可以组成高可用的集群,eureka的各个节点属于平等地位,而zookeeper集群的各节点具有主从的区别,不同的角色承担不同任务
    3、zookeeper通过zab协议实现了paxos算法,具有数据的强一致性,因为这些特性,所以它具有分布式锁和分布式队列的支持,zookeeper特有的watcher注册监听机制,所以也使它具备了服务协调的应用场景

注册中心的选择

  • zookeeper适合微服务的场景吗
    它实现了强一致性,原理参考:https://zhuanlan.zhihu.com/p/25594630   当leader发生宕机以后,需要重新选举出一个新的leader出来,重要的是需要保证节点的数据一致性,需要经过一些列的流程如:投票初始化、广播、数据比较、数据同步等,比较耗时,在这期间不能对外提供服务,对于微服务来说,出现暂时的注册中心不可用

  • 微服务的场景下eureka更合适
    eureka的各级节点不存在主从概念,完全对等,当某些节点宕机后,仍然可以从可用的eureka server获取服务列表、注册新的服务,只是不能保证各server的服务列表是最新的(不保证强一致)

  • zookeeper的强一致性适用在哪里
    zookeeper在hadoop等大数据生态下是风生水起,是由watcher机制、持久化、一致性等的原因决定的,不是作为一个孤立的注册中心存在的。
    举例:在hbase中有一个关于RootRegion的管理,它就是存在zookeeper中的,有什么用途呢?就是我们的client查询一个数据的时候,先需要查询RootRegion,从其内找到数据存储位置,假如不能保证强一致性,会导致什么严重后果?有可能会导致读取元数据的时候取不到资源位置,直接找不到我们需要的数据,这对于一个存储系统来说是简直不能接受的。

  • 关于注册的总结
    dubbo注册的是细粒度的服务(ip+port+service)
    spring cloud的注册服务,指的是粗粒度的服务(ip+port),因为它暴露的是http层面的,提供了http接口即意味着暴露

© 著作权归作者所有

白中墨
粉丝 1
博文 27
码字总数 41497
作品 0
昌平
私信 提问
Spring Cloud Eureka高可用

Spring Cloud Eureka高可用 高可用客户端(HA client) 多用于生产环境,客户端应用关联或配置注册中心服务器集群,避免注册中心单点故障 常用配置手段 多注册中心主机 注册中心DNS 广播 Sp...

xiaoshuaiv5
03/20
0
0
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环...

方宏春
2018/04/14
294
1
Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!

Spring Cloud 的注册中心可以由 Eureka、Consul、Zookeeper、ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netflix 的 Eureka 做了二次封装,完成分布式服务中服...

Java技术栈
04/03
91
0
Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway

自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作《Spring Cloud Alibaba迁移指南》系列文章,向开发者提供更多的技术选型方案,并降低迁移过程中的技术难度。 ...

中间件小哥
02/26
0
0
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/81040925 转载请标明出处...

方志朋
2018/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
213
4
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部