curator

十九、curator recipes之PathChildrenCache

匿名 (未验证) 提交于 2019-12-02 23:05:13
简介 curator可以监听路径下子节点的变更操作,如创建节点,删除节点 官方文档: http://curator.apache.org/curator-recipes/path-cache.html javaDoc: http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/cache/PathChildrenCache.html 代码示例 import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.framework.recipes.cache.PathChildrenCache; import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener; import org.apache.curator.retry

ZooKeeper与Curator注册和监控

前提是你 提交于 2019-11-30 17:26:01
Curator提供了对zookeeper客户端的封装,并监控连接状态和会话session,特别是会话session过期后,curator能够重新连接zookeeper,并且创建一个新的session。 对于zk的使用者来说,session的概念至关重要,如果想了解更多session的说明,请访问: http://zookeeper.apache.org/doc/trunk/zookeeperProgrammers.html zk客户端和zk服务器间主要可能存在下面几种异常情况: 短暂失去连接:此时客户端检测到与服务端的连接已经断开,但是服务端维护的客户端session尚未过期,之后客户端和服务端重新建立了连接;当客户端重新连接后,由于session没有过期,zookeeper能够保证连接恢复后保持正常服务。 失去连接时间很长:此时服务器相对于客户端的session已经过期了,与先前session相关的watcher和ephemeral的路径和数据都会消失;当Curator重新创建了与zk的连接后,会获取到session expired异常,Curator会销毁先前的session,并且会创建一个新的session,需要注意的是,与之前session相关的watcher和ephemeral类型的路径和数据在新的session中也不会存在,需要开发者在CuratorFramework

mac 中 Zookeeper 3.5.5 单机模拟集群安装

℡╲_俬逩灬. 提交于 2019-11-30 12:00:48
1、官网下载:wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz 2、解压:apache-zookeeper-3.5.5-bin 3、进入 cd /Users/liuhongchun/Downloads/zk/apache-zookeeper-3.5.5-bin/conf 目录下 创建三个 zoo1.cfg、 zoo2.cfg、 zoo3.cfg,分别执行下面 cp zoo_sample.cfg zoo1.cfg cp zoo_sample.cfg zoo2.cfg cp zoo_sample.cfg zoo3.cfg 4、进入 cd /Users/liuhongchun/Downloads/zk/apache-zookeeper-3.5.5-bin/ 目录下 创建三个 data1、data3、data3 4、创建好之后 分别修改 zoo1.cfg、 zoo2.cfg、 zoo3.cfg文件 vi zoo1.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/Users/liuhongchun/Downloads/zk/apache-zookeeper-3.5.5-bin/data-1

分布式架构理论篇

拟墨画扇 提交于 2019-11-29 23:11:25
大型分布式系统原理概述 分布式系统三要素 ​ CPU:处理器 ​ Memory:内存 ​ IO:外存 ​ MultiCore:多核心 ​ LocalDisk:本地磁盘 ​ Networker:网络,网络存储 ​ RDMA:远程内存直接访问 ​ NUMA:分布式系统CPU和内存进行整合,对内存进行捆绑,是硬件层级的,(相似与ThreadLocal,将数据和实时运行线程绑定到一起),网卡直接绕过CPU共享内存,速度非常快 ​ 分布式系统三要素的进化 ​ 桌面级八核心十六线程CPU于2014年诞生,2015年Intel预计发布18核心桌面级CPU ​ NUMA在大中型系统上一直非常盛行,NUMA能很好提升系统吞吐能力,特别对于Java以及数据这样占用大内存的系统,但一直以来没有得到 DBA 们足够的重视、 Java领域也很少有人研究 ​ RDMA(远程内存直接访问,网络传输协议,类似TCP,更低延迟)是超高性能计算UHPC的重要基础之一,而Direct Socket Protocol (SDP)作为RDMA的传输协议已经在很多关键领域取代了TCP,Java7也正式开始支持SDP,跨入了UHPC的领地。 ​ IO方面,万兆网正在崛起,万兆网的ISCSI存储, 单通道可达到500MB/s, 每秒500,000个IO能力,而目前主流的SSD硬盘的速度是400-550MB/s。 ​ ===

Curator分布式锁之生成流水号

陌路散爱 提交于 2019-11-29 05:37:04
在分布式系统中,为了保证数据的一致性,往往需要进行同步控制,比如减库存、唯一流水号生成等。Curator对Zookeeper进行了封装,实现了分布式锁的功能,提供了线程的同步控制。同时,Curator也提供了多种锁机制。下面对通过时间戳生成流水号的场景进行逐步分析。 普通示例 先看一个简单的程序: package com.secbro.learn.curator; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by zhuzs on 2017/5/4. */ public class CreateOrderNo { public static void main (String[] args) { for ( int i= 0 ; i< 10 ; i++){ SimpleDateFormat sdf = new SimpleDateFormat( "yyyyDDmm HH:mm:ss|SSS" ); String orderNo = sdf.format( new Date()); System.out.println(orderNo); } } } 以上代码通过一个循环连续打印出10个时间戳。这里没有使用多线程,但分析下面的打印结果就会发现,其实在同一时刻会生成多个相同的流水号

Zookeeper 分布式协调服务介绍

巧了我就是萌 提交于 2019-11-29 01:11:36
公众号原文: Zookeeper 分布式协调服务介绍 博客原文: Zookeeper 分布式协调服务介绍 分布式系统 分布式系统的简单定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 分布式系统的特征: 分布性:系统中的计算机在空间上随意分布和随时变动 对等性:系统中的计算机是对等的,没有主从之分 并发性:并发性操作是非常常见的行为 缺乏全局时钟:系统中的计算机具有明显的分布性,且缺乏一个全局的时钟序列控制,所以很难比较两个事件的先后 故障总是会发生:任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生,并且还会遇到很多在设计时未考虑到的异常故障 随着分布式架构的出现,越来越多的分布式应用会面临数据一致性问题。 选择Zookeeper Zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、master选举、分布式锁和分布式队列等功能。 Zookeeper致力于提供一个高性能、高可用,具有严格的顺序访问控制能力的分布式协调服务;其主要的设计目标是简单的数据模型、可以构建集群、顺序访问、高性能。Zookeeper已经成为很多大型分布式项目譬如Hadoop、HBase、Storm、Solr等中的核心组件,用于分布式协调。

Apache Curator 2.7.1 发布

一笑奈何 提交于 2019-11-26 17:05:34
Apache Curator 2.7.1 发布了,zookeeper 的客户端调用过于复杂,Curator提供了对zookeeper客户端的封装,Apache Curator 就是为了简化zookeeper客户端调用而生,利用它,可以更好的使用zookeeper。并监控连接状态和会话session,特别是会话session过期后,curator能够重新连接zookeeper,并且创建一个新的session。 下载地址: http://www.apache.org/dyn/closer.cgi/incubator/curator 来源: oschina 链接: https://my.oschina.net/u/123050/blog/381167