| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> ZooKeeper、Eureka、Consul、Nacos的选型对比 -> 正文阅读 |
|
[大数据]ZooKeeper、Eureka、Consul、Nacos的选型对比 |
ZooKeeper、Eureka、Consul、Nacos的选型对比1|2四种常用注册中心zookeeperzookeeper的基础知识以及基本的架构原理,互联网Java工程师面试突击第三季,里面是有讲过zk的一些架构原理,如果大家不了解的话,可以去看一下 【leader+follower的架构】 【服务主要是2个动作,一个是服务发现,一个是服务发现,别人要读取服务相关的一些信息】 【服务注册就是向ZK Leader写入数据。ZK集群是基于ZAB协议,ZAB协议跟raft协议有点类似,但是不太一样,ZK自己搞的分布式算法。基于ZAB协议进行数据一致性的同步】 【服务发现就是一个读取数据的过程,可以找Leader读,也可以找Follower读】 【服务注册只能找Leader,但是服务发现可以找Follower,因为会同步】 zookeeper的原理,leader+follower,leader写,同步到follower,follower可以读,保证顺序一致性,就是基本尽量保证到数据一致的,主动推送,典型的CP【有个同步过程,不是强一致性的,有可能Leader和Follower不一样(很短时间内)】,leader崩溃的时候,为了保证数据一致性,尽量不要读到不一致的数据,此时要重新选举leader以及做数据同步,此时集群会短暂的不可用,CP CP和AP的选择 服务注册中心选型对比的时候,其他的分布式系统选型的时候,CP,AP P简单来说就是任何分布式系统一般都会满足,他就是分区容错性;CP,C,一致性,尽可能的去保证你读取到的数据是一致的,牺牲掉一个A,可用性,一旦leader崩溃,【崩溃的时候可能不同的Follower数据是不一致的】zk可能会有一个短时间内,几十s有可能,集群不可用,此时需要重新选举一个leader,然后再做数据同步,保证数据一致性之后再开放让你来读取 【CP就是Leader崩溃后牺牲可用性,牺牲A】 consistency,availability【C和A】 eureka【eureka是AP】 eureka的原理,peer-to-peer【每个节点的角色是一样的,都可以写数据】,大家都能写也都能读,每个节点都要同步给其他节点,但是是异步复制的,所以随时读任何一个节点,可能读到的数据都不一样,任何一个节点宕机,其他节点正常工作,可用性超高,但是数据一致性不行,AP ConsulConsul也是基于raft算法的CP模型 NacosNacos也是基于raft算法的CP模型,同时也支持配置成类似eureka的AP 1|3选用其实CP或者AP也都行,CP就是偶尔可能短时间不可用,AP就是可能数据不一致,两个都有问题,但是在生产环境下,无论CP还是AP其实都用的很多 1|4演变其实说白了,zk作为注册中心是早期dubbo时代的标配;后续spring cloud进入国内市场,大家就都用eureka了,但是spring cloud也推荐了consul,所以consul也有不少人在用,zk、eureka、consul,其实都有人用 但是未来还是建议大家用nacos,因为nacos的功能最为完善,包括了雪崩保护、自动注销实例、监听支持、多数据中心、跨注册中心同步、spring cloud集成、dubbo集成、k8s集成,这些都支持,其他的几个技术基本都支持部分罢了 【建议选用raft算法的CP。AP可能会引发混乱】 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:34:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |