keepalived 和 zookeeper的区别
2019独角兽企业重金招聘Python工程师标准>>>
两者都可以做高可用HA,那么有什么区别呢?
1.从主被动的角度考虑
我们知道,nginx server通常和keepalived进行结合,那么keepalived是怎么知道nginx是否存活呢?是nginx主动向keepalived汇报信息?不是的。keepalived是主动向nginx发送请求,如果有响应,那么则nginx可用。
对于zookeeper而言,HDFS,HBase,Yarn基于zookeeper做高可用,这里的zookeeper就是被动的,也就是说HDFS,HBase,Yarn主动向zookeeper中写数据。
2.从负载的角度来考虑
keepalived可以帮助我们做到主从,主从的划分是通过配置文件(主从的priority之差>50)指定的,如果主没有挂掉,那么大量的请求通过主然后负载到后端的nginx,而从如果想要起作用只有等到主挂掉。
而利用zookeeper做HA,zookeeper中可以说是“人人平等”,客户端无论访问follower,还是observer,异或是leader,都能给我们返回相应的结果,可以很好的实现了负载均衡,这也可以说是zookeeper的一个优点。
3.从存储数据的角度
keepalived不可以存储数据,假设keepalived的主现在有50个连接,如果没有外部数据库存储这些连接的信息,主挂了的话,连接信息也就丢了,所以使用keepalived需要一个外部的数据库,但是如果主挂了的同时数据库也挂了,那么就over了,信息就会丢失,或者从起来后,连不上数据库,那么之前的连接信息也会丢失。
zookeeper可以存储数据,zookeeper中可以创建一个zNode,里面存放数据,zookeeper可以做到一个分布式数据的一致性,zookeeper中每个节点的视图是一致的,数据本身可以做到最终一致性,也就是说其中一个server挂了,其他的server还有存的数据,那么这样的话就不需要额外的数据库,zookeeper本身就可以存储一定量的信息。这也可以说是zookeeper的另一个优点。
4.从业务的角度
keepalived可以说比较简单,只需要简单的配置一下就可以了,使用keepalived的场景:如果我们只需要简单的知道当前的业务中哪个是主,哪个是从,那么可以选用keepalived。
如果除了高可用以外,比如kafka,storm等还要想zookeeper中写一些数据,这时候就需要zookeeper
转载于:https://my.oschina.net/u/3134960/blog/913369
keepalived 和 zookeeper的区别相关推荐
- keepalived VS zookeeper
keepalived VS zookeeper 两者都可以做高可用HA,那么有什么区别呢? 1.从主被动的角度考虑 我们知道,nginx server通常和keepalived进行结合,那么keepa ...
- keepalived和zookeeper对比
keepalived与zookeeper都可以用来实现高可用,高可用一般跟负载均衡会一起考虑,所以通常也会考虑到相应的负载均衡能力, 以下是Keepalived与Zookeeper的对比: 一.概括对 ...
- 你还不知道 Eureka 和 zookeeper 的区别吗?
前言 最近在面试的时候,被问到了这个问题,作答的不是很好,在此进行整理和学习,希望能够帮助大家. CAP理论 在了解eureka和zookeeper区别之前,我们先来了解一下这个知识,cap理论. 1 ...
- Eureka的工作原理以及它与ZooKeeper的区别
Eureka的工作原理以及它与ZooKeeper的区别 1.Eureka 简介: Eureka 是 Netflix 出品的用于实现服务注册和发现的工具. Spring Cloud 集成了 Eureka ...
- Spring Cloud中的Eureka和Zookeeper的区别在哪?
首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全 ...
- Consul和ZooKeeper的区别
Consul是一个在国外流行的服务发现和配置共享的服务软件.本文翻译自Consul的官方文档,文中重点讲述:在与主流同类软件ZooKeeper.Doozerd以及Etcd比较时,Consul的优势所在 ...
- Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
传统的ACID A(Atomicity) 原子性 C(Consistency) 一致性 I (Isolation)独立性 D(Durability)持久性 关系型数据库(MySQL,Oracle,Sq ...
- eureka和ZooKeeper的区别
本文作者通过ZooKeeper与Eureka作为 Service发现服务(注:WebServices 体系中的UDDI就是个发现服务)的优劣对比,分享了Knewton在云计算平台部署服务的经验.本文虽 ...
- SpringCloud-Erueka和Zookeeper以及Consul的区别(Day4)
ErueKa,Zookeeper,Consul区别 组件名 开发语言 CAP 服务健康检查 对外暴露接口 SpringCloud集成 原生Web界面 Eureka Java AP 可配支持 HTTP ...
最新文章
- Java HashMap的死循环问题
- 利用std::allocator实现自定义的vector类
- Ansible:Ansibl项目生产环境快速布局
- UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。
- SVG 图像入门教程
- python产生随机数_python技能:random库的使用
- php ezsql,ezSQL PHP数据库操作类库
- Javascript:利用闭包实现高级排他
- Loadrunner11之VuGen常用函数lr_user_data_point(一)
- 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
- VISIO——word中插入visio图片 图片边缘空白裁剪
- QQ音乐无损下载工具 Music Download Man v3.1绿色版
- Java阿拉伯数字转换为大写数字
- 内核分析-简单的操作系统内核源码解读
- 测试工程师的明天在哪里
- 摩根大通提交分散式虚拟收据系统新专利
- 码元、波特、速率、带宽-王道计算机网络
- 基于Pycharm运行李沐老师的深度学习课程代码
- 秋风无情 吹落叶飘满地 流水无心 像东去的涟漪
- 社交图谱好友关系分析
热门文章
- sqlserver 2008修改数据库表的时候错误提示“阻止保存要求重新创建表的更改”...
- linux 删除和安装java
- [转]如何写一份交互说明文档
- JavaScript初学者系列一:JavaScript基础(上)
- FCKeditor 上传图片和浏览服务器时提示请先登陆的解决办法
- 动与静--软件的雕塑艺术
- 为何new出的对象数组必须要用delete[]删除,而普通数组delete和delete[]都一样-------_CrtMemBlockHeader
- C++提高部分_C++类模板成员函数类外实现---C++语言工作笔记092
- C#.Net工作笔记005---c#中list合并去重_以及单纯合并_值类型list去重
- 全局变量链接时的冲突