
Zookeeper
零度anngle
情商不是八面玲珑的圆滑,而是德行具足后的虚心、包容和自信;成熟不是单纯到复杂的世故,而是复杂回归简单的超然;觉悟不是对世事的无所谓,而是对无能为力之事的坦然接受;成功不是追求别人眼中的最好,而是把自己能做的事情做得最好。热爱生活,热爱编程,热爱Java,喜欢探索,纸上得来终觉浅,绝知此事要躬行,愿与你一起在技术的海洋中成长!
博客:http://blog.csdn.net/zmx729618
展开
-
分布式应用技术(zookeeper的分布式应用)
本文讲一些常见的分布式应用层面的技术,其中大部分都依赖于Zookeeper,所以对zookeeper不熟悉的同学可以先看我之前写的两往篇博客Zookeeper编程(二)、Zookeeper编程(一)一、分布式锁我们的推荐程序部署在多台服务器上,每天凌晨会去重建信息索引(索引存在Redis上)。建索引这件事情只能让一台服务器去做,其他服务器歇着,这种应用场景自然想到了分布式锁,谁抢到转载 2016-11-03 14:36:09 · 564 阅读 · 0 评论 -
轻量级分布式RPC框架实现
RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。众所周知,TCP 是传输转载 2016-10-08 17:29:23 · 3247 阅读 · 0 评论 -
轻量级分布式RPC框架实现(续)
1、背景最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章《轻量级分布式 RPC 框架》,作者用Zookeeper、Netty和Spring写了一个轻量级的分布式RPC框架。花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo。这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下。本人在这个简易版的RPC上添加了如下特转载 2016-10-08 17:37:23 · 2283 阅读 · 0 评论 -
Apache Curator入门实战
Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。1.Zookeeper安装部署Zookeeper的部署很简单,如果已经有Java运行环境的话,下载tarball解压后即可运行。[html] view plain copy转载 2017-02-06 10:22:52 · 519 阅读 · 0 评论 -
zookeeper系列之通信模型
本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型。 Zookeeper的通信架构在Zookeeper整个系统中,有3中角色的服务,client、Follower、leader。其中client负责发起应用的请求,Follower接受client发起的请求,参与事务的确认过程,在leader crash后的lead转载 2017-02-15 09:31:54 · 514 阅读 · 0 评论 -
Zookeeper Api(java)入门与应用
如何使用Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一转载 2017-02-15 11:13:51 · 489 阅读 · 0 评论 -
Zookeeper的部署、管理和运维
本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西。本文并非一个ZK搭建的快速入门,关于这方面,可以查看《ZooKeeper快速搭建》。1.部署本章节主要讲述如何部署ZooKe原创 2017-02-16 11:00:33 · 4869 阅读 · 0 评论 -
ZooKeeper的:Curator框架应用
前面的几篇文章介绍了一些ZooKeeper的应用方法, 本文将介绍Curator访问ZooKeeper的一些基本方法, 而不仅仅限于指定的Recipes, 你可以使用Curator API任意的访问ZooKeeper。CuratorFrameworkCurator框架提供了一套高级的API, 简化了ZooKeeper的操作。 它增加了很多使用ZooKeeper开发的特性,可以处理Z转载 2017-03-09 09:27:00 · 376 阅读 · 0 评论 -
zookeeper入门之curator框架--几种锁的操作
package com.git.zookeeper.passwordmanager.lock;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;import org.apache.commons.lang.math.RandomUtils;import org.a转载 2017-03-15 09:24:20 · 682 阅读 · 0 评论 -
zookeeper入门之curator框架--原子性操作
package com.git.zookeeper.passwordmanager.atomic;import java.util.ArrayList;import java.util.Collection;import java.util.List;import org.apache.curator.RetryPolicy;import org.apache.curator.fra转载 2017-03-15 09:33:36 · 758 阅读 · 0 评论 -
zookeeper入门之Curator框架--几种监听器的使用
package com.git.zookeeper.passwordmanager.listener;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.转载 2017-03-15 09:59:27 · 1095 阅读 · 0 评论 -
Zookeeper入门之curator框架--CRUD及ACL操作
Maven添加的依赖地址如下: org.apache.curator curator-framework 2.8.0 CuratorFrameworkCurator框架提供了一套高级的API, 简化了ZooKeeper的操作转载 2017-03-15 11:49:25 · 3109 阅读 · 0 评论 -
zookeeper之Curator框架(CRUD/事务/选举/锁)的使用
Curator框架是最好用,最流行的zookeeper的客户端。它有以下三个优点1.提供了一套非常友好的操作API;2. 提供一些高级特性(包括但不仅限于前篇文章中提到的)的封装3.易测试 maven依赖如下[html] view plaincopyprint?dependency> groupI转载 2017-03-16 09:58:53 · 2408 阅读 · 0 评论 -
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,转载 2017-05-24 17:51:06 · 439 阅读 · 0 评论 -
zookeeper如何实现分布式锁解决羊群效应
原文链接:http://blog.csdn.net/Nash_Cyk/article/details/79139231本文主要讲述在使用ZooKeeper进行分布式锁的实现过程中,如何有效的避免“羊群效应( herd effect)”的出现。一般的分布式锁实现这里简单的讲下一般的分布式锁如何实现。具体的代码实现可以在这里看到:https://svn.apache.org/repos/asf/zoo...转载 2018-03-19 15:37:49 · 721 阅读 · 0 评论 -
ZooKeeper原理及使用实例
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。转载 2016-10-08 16:34:27 · 2390 阅读 · 0 评论 -
Apache Curator入门实战
Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。1.Zookeeper安装部署Zookeeper的部署很简单,如果已经有Java运行环境的话,下载tarball解压后即可运行。[html] view plain copy转载 2016-10-08 15:14:44 · 431 阅读 · 0 评论 -
Zookeeper(1)-Zookeeper是什么
Google的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTable,于是我们有了HBase。而在这三篇论文里都提及Google的一个lock service---Chubby,哦,于是我们有了Zookeeper。 随着大数据的火热,Hxx们已转载 2016-09-30 11:00:13 · 496 阅读 · 1 评论 -
Zookeeper(2)-Zookeeper可以干什么
在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 这大概描述了Zookeeper主要可以干哪些事情转载 2016-09-30 11:03:47 · 961 阅读 · 0 评论 -
Zookeeper(3)-Zookeeper的配置
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象。本文只关注分布式模式的zookeeper,因为这也是在生产环境的唯一部署方式,单机的zookeeper可以在测试和开发环境使用,但是单机环境的zookeeper就不再是zookeeper了。安装配置很简转载 2016-09-30 11:18:44 · 450 阅读 · 0 评论 -
Zookeeper(4)-Zookeeper启动过程
在上一篇,我们了解了zookeeper最基本的配置,也从中了解一些配置的作用,那么这篇文章中,我们将介绍Zookeeper的启动过程,我们在了解启动过程的时候还要回过头看看上一篇中各个配置参数在启动时的位置。Zookeeper的启动入口在org.apache.zookeeper.server.quorum.QuorumPeerMain。在这个类的main方法里进入了zookeeper的启动转载 2016-09-30 13:46:29 · 477 阅读 · 0 评论 -
Zookeeper(5)-Zookeeper leader选举
在上一篇文章中我们大致浏览了zookeeper的启动过程,并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节。那么什么是leader选举呢?zookeeper为什么需要leader选举呢?zookeeper的leader选举的过程又是什么样子的?本文的目的就是解决这三个问题。 首先我们来看看什么是leader选举。其实这个很好理解,leade转载 2016-09-30 14:05:31 · 426 阅读 · 0 评论 -
Zookeeper(7)-Zookeeper的原理Paxos
原计划在介绍完zookeeper client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。 先说Paxos,它是一个基于消息传递的一致性算转载 2016-09-30 14:39:17 · 427 阅读 · 0 评论 -
ZooKeeper之深入浅出概述
ZooKeeper是一个用于分布式应用的开源分布式协调服务。它提供了简单的原语集合,分布式应用可在这些原语之上构建用于同步、配置维护、分组和命名的高层服务。ZooKeeper的设计使得编程容易,并且使用类似于广泛熟知的文件系统目录树结构的数据模型。它运行在Java环境中,但是有Java和C语言绑定。分布式协调服务是出了名的难得编写正确,很容易出现竞争条件和死锁之类的错误。ZooKeeper转载 2016-11-09 10:55:38 · 1384 阅读 · 0 评论 -
Zookeeper API(java)入门与应用
如何使用Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一转载 2016-11-09 11:41:24 · 499 阅读 · 0 评论 -
Zookeeper(6)-Zookeeper 存储与client
当我写完Zookeeper leader选举后,准备看看Zookeeper的存储和处理客户端请求的时候发现,如果能看看Zookeeper的API是不是在理解后面的过程更好些呢。Zookeeper的client是通过Zookeeper类提供的。前面曾经说过,Zookeeper给使用者提供的是一个类似操作系统的文件结构,只不过这个结构是分布式的。可以理解为一个分布式的文件系统。我们可以通过Zo转载 2016-09-30 14:21:48 · 431 阅读 · 0 评论 -
Zookeeper(8)-Zookeeper常用命令
ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作1. 启动ZK服务: sh bin/zkServer.sh start 2. 查看ZK服务状态: sh bin/zkServer.sh status 3. 停止ZK服务: sh bin/zkServer.sh stop 4. 重启Z原创 2016-10-08 10:35:34 · 1036 阅读 · 0 评论 -
ZooKeeper编程(一)
ZooKeeper的用途:distributed coordination;maintaining configuration information, naming, providing distributed synchronization, and providing group services.Zookeeper的节点都是存放在内存中的,所以读写速度很快。更新日志被记录到了磁盘中,以转载 2016-10-08 11:19:34 · 477 阅读 · 0 评论 -
zookeeper编程(二)
ZooKeeper的轮廓/---root | \----child1 | \----child2 | \----child3 | \----grandson1 | \----grandson2采用了简化的praxos算法来确保zookeeper集群节点的数据一致性只要Quorum的成员有一半以上处于转载 2016-10-08 11:39:05 · 440 阅读 · 0 评论 -
Zookeeper开源客户端框架Curator简介
Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用ZooKeeper的过程中遇到的问题, 我们也遇到了, 所以开始研究一下, 首先从他在github上的源码, wik转载 2016-10-08 14:36:23 · 378 阅读 · 0 评论 -
ZooKeeper之ZAB协议
ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法, ZAB(ZooKeeper Atomic Broadcast ) 全称为:原子消息广播协议;ZAB可以说是在Paxos算法基础上进行了扩展改造而来的,ZAB协议设计了支持崩溃恢复,ZooKeeper使用单一主进程Leader用于处理客户端所有事务请转载 2016-10-08 14:58:11 · 491 阅读 · 0 评论 -
zookeeper应用之分布式锁Java实现
原文地址:http://blog.csdn.net/z69183787/article/details/79355829zookeeper在项目中有很多应用,其中一个比较常见的的就是分布式锁,zookeeper实现分布式锁的原理是根据zookeeper创建的临时有序节点,每次zookeeper在同一个目录下创建的临时有序节点是有序的,会自动累加,如果本次操作创建的节点在目录内是最小节点,则获得锁,...转载 2018-03-19 17:14:56 · 1172 阅读 · 0 评论