个人简介

Echo Blog


江湖无名 安心练剑
  • ZooKeeper-17-通过ZooKeeper实现分布式锁
    实现⼀个原语:通过ZooKeeper实现锁 关于ZooKeeper的功能,⼀个简单的例⼦就是通过锁来实现临界区域。 假设有⼀个应⽤由n个进程组成,这些进程尝试获取⼀个锁。再次强调,ZooKeeper并未直接暴露原语,因此我们使⽤ZooKeeper的接⼜来管理znode,以此来实现锁。为了获得⼀个锁,每个进程p尝试创建znode,名为/lock。如果进程p成功创建了znode,就表⽰它获得...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-16-qourum 仲裁模式
    ZooKeeper与仲裁模式 到⽬前为⽌,我们⼀直基于独⽴模式配置的服务器端。如果服务器启动,服务就启动了,但如果服务器故障,整个服务也因此⽽关闭。这⾮常不符合可靠的协作服务的承诺。出于可靠性,我们需要运⾏多个服务器。 配置文件 为了完成这些,我们将要使⽤以下配置⽂件: tickTime=2000 initLimit=10 syncLimit=5 dataDir=./data cli...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-15-了解 ZooKeeper 架构
    ZooKeeper架构 现在我们已经讨论了ZooKeeper暴露给应⽤的⾼层操作,我们需要详细了解服务实际上是如何运⾏的。应⽤通过客户端库来对ZooKeeper实现了调⽤。客户端库负责与ZooKeeper服务器端进⾏交互。 ZooKeeper仲裁 在仲裁模式下,ZooKeeper复制集群中的所有服务器的数据树。但如果让⼀个客户端等待每个服务器完成数据保存后再继续,延迟问题将⽆法接受...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-14-了解 ZooKeeper 基础知识
    了解ZooKeeper 前⼀章从较⾼的层⾯讨论了分布式应⽤的需求,同时也讨论了在协作⽅⾯的共性需求。 我们以实际应⽤中使⽤很⼴泛的主-从架构(master-worker)为例⼦,从中摘取了⼀些常⽤原语。本章将开始讨论ZooKeeper,看⼀看这个服务如何实现这些协作⽅⾯的原语。 ZooKeeper基础 很多⽤于协作的原语常常在很多应⽤之间共享,因此,设计⼀个⽤于协作需求的服务的⽅法往...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-13-zk 介绍
    简介 在计算机诞⽣之后很长的⼀段时间⾥,⼀个应⽤服务是在⼀个独⽴的单处理器计算机上运⾏⼀段程序。时⾄今⽇,应⽤服务已经发⽣了很⼤的变化。 在⼤数据和云计算盛⾏的今天,应⽤服务由很多个独⽴的程序组成,这些独⽴的程序则运⾏在形形⾊⾊、千变万化的⼀组计算机上。 开发这样的应⽤,很容易让很多开发⼈员陷⼊如何使多个程序协同⼯作的逻辑中,最后导致没有时间更好地思考和实现他们⾃⼰的应⽤程序逻辑;又或...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-12-aduit logs
    ZooKeeper审核日志 Apache ZooKeeper支持3.6.0版以上的审核日志。 默认情况下,审核日志处于禁用状态。 要启用审核日志,请在conf/zoo.cfg中配置audit.enable = true。 审核日志并非记录在所有的ZooKeeper服务器上,而是仅记录在连接客户端的服务器上,如下图所示。 审核日志捕获有关选择要审核的操作的详细信息。 审核信息被...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-11-动态配置
    概述 在3.5.0发行版之前,Zookeeper的成员身份和所有其他配置参数是静态的-在引导过程中加载,并且在运行时不可变。 操作员求助于“滚动重启”,这是一种手动配置且容易出错的更改配置的方法,该配置导致数据丢失和生产中的不一致。 从3.5.0版开始,不再需要“滚动重启”! ZooKeeper完全支持自动配置更改:可以动态更改Zookeeper服务器的集合,它们的角色(参与者/观察...
    2016-09-25 04:21:05 | Apache
  • ZooKeeper-10-监听者指导
    观察者:在不影响写入性能的情况下扩展ZooKeeper 尽管ZooKeeper通过使客户端直接连接到该集合的投票成员而表现良好,但是此体系结构使其很难扩展到大量客户端。 问题在于,随着我们添加更多的投票成员,写入性能会下降。 这是由于以下事实:写操作需要(通常)集合中至少一半节点的同意,因此,随着添加更多的投票者,投票的成本可能会显着增加。 我们引入了一种称为Observer的新型Z...
    2016-09-25 04:21:05 | Apache