ZK

Motan源码阅读--工程概述

﹥>﹥吖頭↗ 提交于 2019-12-04 05:47:04
工程概述 Motan框架采用模块化设计,使用按需加载,模块有: motan-core:motan核心框架 motan-transport-netty:基于Netty协议的长链接传输协议 motan-registry-consul:consul服务发现组件 motan-registry-zookeeper:zk服务发现组件 motan-springsupport:spring标签解析相关组件 默认配置 protocol协议默认为motan,基于hessian2实现。 负载均衡默认为activeWeight,低并发度优先,refer的某个时刻call的数量越小优先级越高。 容错策略默认为failover,失败自动切换,当出现失败,重试其他服务器。 Failfast快速失败,只发起一次调用,失败立即报错。 配置服务端工作线程数。 配置客户端为每个服务建立的连接数。 注册中心motan:registry 包含以下属性: Name:标识配置名称; regProtocol:标识注册中心协议 Address:标识注册中心地址 服务提供方motan:service 常用属性: Interface:标识服务的接口类名 Ref:标识服务的实现类,引用具体的spring业务实现对象 Export:标识服务的暴露方式,格式为“protocolId:port”,其中protocolId:应对motan

【Zookeeper系列二】ZooKeeper典型应用场景实践

混江龙づ霸主 提交于 2019-12-04 04:04:31
#0 系列目录# Zookeeper系列 【Zookeeper系列一】Zookeeper应用介绍与安装部署 【Zookeeper系列二】ZooKeeper典型应用场景实践 【Zookeeper系列三】ZooKeeper Java API使用 【Zookeeper系列四】ZooKeeper 分布式锁实现 【Zookeeper系列五】ZooKeeper 实时更新server列表 【Zookeeper系列六】Zookeeper 工作原理 Zookeeper源码 【Zookeeper源码一】Zookeeper 源码环境搭建 【Zookeeper源码二】Zookeeper 客户端创建连接过程分析 【Zookeeper源码三】Zookeeper 单机版服务器介绍 【Zookeeper源码四】Zookeeper 集群版服务器介绍 【Zookeeper源码五】Zookeeper 集群版建立连接过程 Zookeeper应用 基于ZooKeeper的分布式Session实现 ZooKeeper是一个 高可用的分布式数据管理与系统协调框架 。 基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性 ,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将介绍比较常用的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,

zookeeper 学习

人走茶凉 提交于 2019-12-04 00:05:33
zk 可视化客户端 zk 可视化工具: ZooInspector 参考: https://www.jianshu.com/p/f45af8027d7f 简介 特性 目录 还有 recipes 目录下面就是 demo ,, src 目录就是 zookeeper 的源码 配置 # The number of milliseconds of each tick 用于计算的时间单元 毫秒 : 比如 session 超时 : N* tickTime 。 所有的时间都是 以这个为单位 tickTime=5000 # The number of ticks that the initial # synchronization phase can take 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数表示 initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement 用于集群,master 主节点与从节点之间发生消息,请求和应答时间长度(心跳机制) syncLimit=5 # the directory where the snapshot is stored. # do not use

zookeeper 学习

本小妞迷上赌 提交于 2019-12-04 00:02:53
zk 可视化客户端 zk 可视化工具: ZooInspector 参考: https://www.jianshu.com/p/f45af8027d7f 简介 特性 目录 还有 recipes 目录下面就是 demo ,, src 目录就是 zookeeper 的源码 配置 # The number of milliseconds of each tick 用于计算的时间单元 毫秒 : 比如 session 超时 : N* tickTime 。 所有的时间都是 以这个为单位 tickTime=5000 # The number of ticks that the initial # synchronization phase can take 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数表示 initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement 用于集群,master 主节点与从节点之间发生消息,请求和应答时间长度(心跳机制) syncLimit=5 # the directory where the snapshot is stored. # do not use

zabbix系列zabbix3.4监控zookeeper3.4.10

…衆ロ難τιáo~ 提交于 2019-12-03 23:50:49
监控zookeeper来自网上,大家一搜就可搜到了,只是zabbix版本和zookeeper有点出入,自行修改一下就可以了。 zookeeper监控要点 系统监控 这个监控linux系统以及修改linux服务器参数即可 内存使用量 ZooKeeper应当完全运行在内存中,不能使用到SWAP。Java Heap大小不能超过可用内存。 Swap使用量 使用Swap会降低ZooKeeper的性能,设置vm.swappiness = 0 网络带宽占用 如果发现ZooKeeper性能降低关注下网络带宽占用情况和丢包情况,通常情况下ZooKeeper是20%写入80%读入 磁盘使用量 ZooKeeper数据目录使用情况需要注意 磁盘I/O ZooKeeper的磁盘写入是异步的,所以不会存在很大的I/O请求,如果ZooKeeper和其他I/O密集型服务公用应该关注下磁盘I/O情况 ZooKeeper监控 zk_avg/min/max_latency 响应一个客户端请求的时间,建议这个时间大于10个Tick就报警 平均延迟/最小延迟/最大延迟 zk_outstanding_requests 排队请求的数量,当ZooKeeper超过了它的处理能力时,这个值会增大,建议设置报警阀值为10 堆积请求数 zk_packets_received 接收到客户端请求的包数量 收包数 zk_packets

Zookeeper集群部署和使用

此生再无相见时 提交于 2019-12-03 23:48:43
Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,Google Chubby的一个开源实现。它是一个分布式应用程序协调服务,提供的功能包括:配置管理,名字服务,提供分布式同步、队列管理、集群管理等。 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式。 Zookeeper有两种运行模式: 独立模式(standalone mode):只运行在一台服务器上,适合测试环境。 复制模式(replicated mode):运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) 复制模式的Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续。这跟Zookeeper的复制策略有关:Zookeeper确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。 Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务

运行Kafka监控KafkaOffsetMonitor

≡放荡痞女 提交于 2019-12-03 23:35:52
运行Kafka监控KafkaOffsetMonitor( KafkaOffsetMonitor就是一个jarball ),可以参照下面的3个示例: java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk zk-server1,zk-server2 \ --port 8080 \ --refresh 10.seconds \ --retain 2.days java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk rzsjtest01:2181 \ --port 7778 \ --refresh 5.seconds \ --retain 5.days java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk ip1

enabling grails hibernate filters

↘锁芯ラ 提交于 2019-12-03 22:13:56
问题 Hi I am using the Grails filter plugin I am trying to define a default filter as below // Defined inside the Book entity static hibernateFilters = { activeFilter(condition:'active=1', default:true) } When i run my integration tests the filter does not apply for dynamic finder methods like Book.findAll() If I add the below line in the BootStrap.groovy class Book.enableHibernateFilter('activeFilter') Then the filter is applied. However when the application is run the filter is never applied,

Docker 一步搞定 ZooKeeper 集群的搭建

China☆狼群 提交于 2019-12-03 13:30:00
Docker 一步搞定 ZooKeeper 集群的搭建 背景 原来学习 ZK 时, 我是在本地搭建的伪集群, 虽然说使用起来没有什么问题, 但是总感觉部署起来有点麻烦. 刚好我发现了 ZK 已经有了 Docker 的镜像了, 于是就尝试了一下, 发现真是爽爆了, 几个命令就可以搭建一个完整的 ZK 集群. 下面我简单记录一下使用 Docker 搭建 ZK 集群的一些步骤. 镜像下载 hub.docker.com 上有不少 ZK 镜像, 不过为了稳定起见, 我们就使用官方的 ZK 镜像吧. 首先执行如下命令: 1 docker pull zookeeper    当出现如下结果时, 表示镜像已经下载完成了: 1 2 3 4 5 6 7 8 9 10 11 12 13 >>> docker pull zookeeper Using default tag: latest latest: Pulling from library /zookeeper e110a4a17941: Pull complete a696cba1f6e8: Pull complete bc427bd93e95: Pull complete c72391ae24f6: Pull complete 40ab409b6b34: Pull complete d4bb8183b85d: Pull complete

HBase原理和设计

淺唱寂寞╮ 提交于 2019-12-03 09:05:44
简介 HBase —— Hadoop Database的简称,Google BigTable的另一种开源实现方式,从问世之初,就为了解决用大量廉价的机器高速存取海量数据、实现数据分布式存储提供可靠的方案。从功能上来讲,HBase不折不扣是一个数据库,与我们熟悉的Oracle、MySQL、MSSQL等一样,对外提供数据的存储和读取服务。而从应用的角度来说,HBase与一般的数据库又有所区别,HBase本身的存取接口相当简单,不支持复杂的数据存取,更不支持SQL等结构化的查询语言;HBase也没有除了rowkey以外的索引,所有的数据分布和查询都依赖rowkey。所以,HBase在表的设计上会有很严格的要求。架构上,HBase是分布式数据库的典范,这点比较像MongoDB的sharding模式,能根据键值的大小,把数据分布到不同的存储节点上,MongoDB根据configserver来定位数据落在哪个分区上,HBase通过访问Zookeeper来获取-ROOT-表所在地址,通过-ROOT-表得到相应.META.表信息,从而获取数据存储的region位置。 架构 上面提到,HBase是一个分布式的架构,除去底层存储的HDFS外,HBase本身从功能上可以分为三块:Zookeeper群、Master群和RegionServer群。 Zookeeper群:HBase集群中不可缺少的重要部分