本文转自http://blog.csdn.net/gs80140/article/details/51496925

一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下:

场景一

有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。

通过我们的讨论和以往的经验判断在这场景中可以实现并行计算,但我们还期望能对并行计算的节点进行动态的添加/删除,做到在线更新并行计算的数目并且不会影响计算单元中的其他计算节点,但是有4个问题需要解决,否则会出现一些严重的问题:

  1. 20台机器同时工作时,有一台机器down掉了,其他机器怎么进行接管计算任务,否则有些用户的业务不会被处理,造成用户服务终断。
  2. 随着用户数量增加,添加机器是可以解决计算的瓶颈,但需要重启所有计算节点,如果需要,那么将会造成整个系统的不可用。
  3. 用户数量增加或者减少,计算节点中的机器会出现有的机器资源使用率繁忙,有的却空闲,因为计算节点不知道彼此的运行负载状态。
  4. 怎么去通知每个节点彼此的负载状态,怎么保证通知每个计算节点方式的可靠性和实时性。

先不说那么多专业名词,白话来说我们需要的是:1记录状态,2事件通知 ,3可靠稳定的中央调度器,4易上手、管理简单。
        采用Zookeeper完全可以解决我们的问题,分布式计算中的协调员,观察者,分布式锁  都可以作为zookeeper的关键词,在系统中利用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁等功能,利用这些特色在分布式计算中发挥重要的作用。

一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下(转)...相关推荐

  1. 如果有人问你数据库的原理,叫他看这篇文章(下)

    英文:Christophe Kalenzaga 译者:伯乐在线 - Panblack 链接:http://blog.jobbole.com/100349/ 简化的例子 我们已经研究了 3 种类型的联接 ...

  2. 如果有人问你数据库的原理,叫他看这篇文章

    http://blog.jobbole.com/100349 一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradat ...

  3. 如果有人问你关系数据库的工作原理,叫他看这篇文章How does a relational database work

    When it comes to relational databases, I can't help thinking that something is missing. They're used ...

  4. java黄油刀_ButterKnife原理解析看这篇文章就够了

    原标题:ButterKnife原理解析看这篇文章就够了 作者:SheHuan https://juejin.im/post/5acec2b46fb9a028c6761628 ButterKnife 算 ...

  5. 如果有人问你数据库的原理,看这篇文章。(超长预警)

    长文,相当的通透.以下为scrat进行总结后的删减版. 下面假定你已经知道时间复杂度 关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据 ...

  6. 还没吃透内存缓存LruCache实现原理的看这篇文章,面试必会

    前言 这篇文章主要是分享今年上半年的面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家在 2020 的下半年面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结 ...

  7. 【深度学习】搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了

    作者丨科技猛兽 编辑丨极市平台 导读 本文对Vision Transformer的原理和代码进行了非常全面详细的解读,一切从Self-attention开始.Transformer的实现和代码以及Tr ...

  8. Spring原理只要看这篇文章就够了

    Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring ...

  9. websocketapp保活,还没吃透内存缓存LruCache实现原理的看这篇文章,看完直呼内行

    一.2021新的篇章 2021也该规划一下自己的职业生涯了:是选择继续从事Android(android的话已经火了好几年了,现在算是进入寒冬了,需要考虑清楚)?还是从事Java方面?还是改管理方面? ...

最新文章

  1. Lua和C语言的交互——C API
  2. rooibos茶中单宁酸研究
  3. python读取图片上的文字_Python帮你读取图片中的文字(OCR)
  4. CF248E Piglet's Birthday(概率dp)
  5. sklearn的快速使用
  6. Hive ntile函数
  7. Python之numpy模块array简短学习
  8. 在WPF中集成OpenTK
  9. DenseNet网络结构详解及代码复现
  10. cpu vtx测试软件,推荐几个好用的检测电脑CPU是否支持(Virtualization Technology)虚拟化技术的工具-推荐实用小软件 -亦是美网络...
  11. 基于ssm汽车4s店维修保养试驾服务管理系统 java毕设项目介绍
  12. php 网页对话框插件,JavaScript_jquery插件hiAlert实现网页对话框美化,厌烦了IE浏览器的警告窗,伴 - phpStudy...
  13. 为什么正定矩阵等于转置_正定矩阵
  14. 打砖块android代码,打砖块游戏的源代码
  15. 腾讯内部深度文章曝光:微信向左 手机QQ向右
  16. nas家庭服务器是无线连接吗,NAS家庭存储服务器搭建需要注意哪些问题?(上)...
  17. 云计算对传统软件工程的影响
  18. CTF--web学习
  19. 前端开发常见的缩写词中英文对照
  20. 001,Python微信接龙脚本与腾讯会议定时挂网课脚本

热门文章

  1. [Vue.js]实战 -- 电商项目(四)
  2. VS2005 解决应用程序配置不正确,程序无法启动问题(小问题,大思想)
  3. 4005基于邻接表的顶点的删除(C++,附思路)
  4. 2019递归实现字符串的逆序存储(C++)
  5. 2014递归求解单链表中的平均值(C++,附递归函数思路讲解)
  6. java异常处理机制--常见异常汇总
  7. linux 内核 md5 算法_Linux内核中的数据结构和算法
  8. Tour West Australia by Motorcycle
  9. UITextView 和 UITextField限制字符数和表情符号
  10. iOS 7.1 的 Safari 为 meta 标签新增 minimal-ui 属性,在网页加载时隐藏地址栏与导航栏...