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的区别相关推荐

  1. keepalived VS zookeeper

    keepalived VS zookeeper 两者都可以做高可用HA,那么有什么区别呢? 1.从主被动的角度考虑 我们知道,nginx server通常和keepalived进行结合,那么keepa ...

  2. keepalived和zookeeper对比

    keepalived与zookeeper都可以用来实现高可用,高可用一般跟负载均衡会一起考虑,所以通常也会考虑到相应的负载均衡能力, 以下是Keepalived与Zookeeper的对比: 一.概括对 ...

  3. 你还不知道 Eureka 和 zookeeper 的区别吗?

    前言 最近在面试的时候,被问到了这个问题,作答的不是很好,在此进行整理和学习,希望能够帮助大家. CAP理论 在了解eureka和zookeeper区别之前,我们先来了解一下这个知识,cap理论. 1 ...

  4. Eureka的工作原理以及它与ZooKeeper的区别

    Eureka的工作原理以及它与ZooKeeper的区别 1.Eureka 简介: Eureka 是 Netflix 出品的用于实现服务注册和发现的工具. Spring Cloud 集成了 Eureka ...

  5. Spring Cloud中的Eureka和Zookeeper的区别在哪?

    首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全 ...

  6. Consul和ZooKeeper的区别

    Consul是一个在国外流行的服务发现和配置共享的服务软件.本文翻译自Consul的官方文档,文中重点讲述:在与主流同类软件ZooKeeper.Doozerd以及Etcd比较时,Consul的优势所在 ...

  7. Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?

    传统的ACID A(Atomicity) 原子性 C(Consistency) 一致性 I (Isolation)独立性 D(Durability)持久性 关系型数据库(MySQL,Oracle,Sq ...

  8. eureka和ZooKeeper的区别

    本文作者通过ZooKeeper与Eureka作为 Service发现服务(注:WebServices 体系中的UDDI就是个发现服务)的优劣对比,分享了Knewton在云计算平台部署服务的经验.本文虽 ...

  9. SpringCloud-Erueka和Zookeeper以及Consul的区别(Day4)

    ErueKa,Zookeeper,Consul区别 组件名 开发语言 CAP 服务健康检查 对外暴露接口 SpringCloud集成 原生Web界面 Eureka Java AP 可配支持 HTTP ...

最新文章

  1. Java HashMap的死循环问题
  2. 利用std::allocator实现自定义的vector类
  3. Ansible:Ansibl项目生产环境快速布局
  4. UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。
  5. SVG 图像入门教程
  6. python产生随机数_python技能:random库的使用
  7. php ezsql,ezSQL PHP数据库操作类库
  8. Javascript:利用闭包实现高级排他
  9. Loadrunner11之VuGen常用函数lr_user_data_point(一)
  10. 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
  11. VISIO——word中插入visio图片 图片边缘空白裁剪
  12. QQ音乐无损下载工具 Music Download Man v3.1绿色版
  13. Java阿拉伯数字转换为大写数字
  14. 内核分析-简单的操作系统内核源码解读
  15. 测试工程师的明天在哪里
  16. 摩根大通提交分散式虚拟收据系统新专利
  17. 码元、波特、速率、带宽-王道计算机网络
  18. 基于Pycharm运行李沐老师的深度学习课程代码
  19. 秋风无情 吹落叶飘满地 流水无心 像东去的涟漪
  20. 社交图谱好友关系分析

热门文章

  1. sqlserver 2008修改数据库表的时候错误提示“阻止保存要求重新创建表的更改”...
  2. linux 删除和安装java
  3. [转]如何写一份交互说明文档
  4. JavaScript初学者系列一:JavaScript基础(上)
  5. FCKeditor 上传图片和浏览服务器时提示请先登陆的解决办法
  6. 动与静--软件的雕塑艺术
  7. 为何new出的对象数组必须要用delete[]删除,而普通数组delete和delete[]都一样-------_CrtMemBlockHeader
  8. C++提高部分_C++类模板成员函数类外实现---C++语言工作笔记092
  9. C#.Net工作笔记005---c#中list合并去重_以及单纯合并_值类型list去重
  10. 全局变量链接时的冲突