0xTTEPX

Just do it, deeply...

Follow me on GitHub

Curator分布式锁

Jun 30, 2018 by donaldhan

引言 节点监听缓存NodeCache,内部关联一下Curator框架客户端CuratorFramework,节点监听器容器 listeners(ListenerContainer),用于 存放节点监听器。 添加节点监听器,实际上是注册到节点缓存的节点监听器容器ListenerContainer(CuratorFrameworkImpl内部的成员添加节点监听器,实际上是注册到节点缓存的节点...

Curator目录监听

Jun 29, 2018 by donaldhan

引言 上一篇文章,我们简单看一下Curator的CDRWA相关的构造器,及Curator框架实现,[Curator][]框架工厂CuratorFrameworkFactory内部,主要成员变量为默认的会话超时与连接超时时间,本地地址,字节压缩器GzipCompressionProvider, 默认的Zookeeper工厂DefaultZookeeperFactory,默认ACL提供器Defa...

Zookeeper连接客户端总结

Jun 28, 2018 by donaldhan

目录 Zookeeper原生API ZkClient Curator Curator节点监听 Curator分布式锁 总结 Zookeeper原生API Apache Zookeeper原生API,的缺点: 由于设置和获取路径节点的数据都是字节序列,所以自己去处理序列化。 同时事件注册是一次性的,如果需要持...

Curator

Jun 18, 2018 by donaldhan

引言 前一篇文章,我们分析了一下Zookeeper客户端ZkClient,先来回顾一下: Zk客户端ZkClient主要的成员变量为,客户端连接IZkConnection,子节点监听器集IZkChildListener,节点数据监听器集IZkDataListener,当前状态KeeperState,事件锁ZkLock, 客户端状态监听器集IZkStateListener,事件线程ZkEve...

zkClient

Jun 16, 2018 by donaldhan

引言 前一篇文章,我们分析了一下Zookeeper原生API,先来回顾一下: Zookeeper主要有两个成员分别为客户端和watcher管理器。watcher观察器,主要关注点的事件类型有节点创建NodeCreated,节点删除NodeDeleted,节点数据改变NodeDataChanged, 节点子节点更新事件类型NodeChildrenChanged;客户端状态有:同步连接SyncC...

Zookeeper原生API

Jun 14, 2018 by donaldhan

引言 随着分布式应用的发展,对配置的管理变得越来越繁琐,单机配置中心,容易导致配置中心挂掉的情况下,出现整体应用瘫痪的场景。Zookeeper出现解决了单点配置的缺点, 同时我们可以很容易使用Zookeeper建立配置集群,当集群中的某台配置服务器宕机时,不会对应用造成任务影响。更重要的是ZK提供了观察者机制,可以动态监听配置的变更。 Zookeeper以文件目录的方式存储数据,使我们可以非...

Super-Diamond配置管理服务器

Apr 20, 2018 by donaldhan

引言 在我们配置服务器属性时候,一般常使用方法,将配置属性放在一个配置文件中,当应用上线时,需要修改配置文件,这样容易导致手动修改配置文件出错; 自从maven的出现使我们可以,我们可以将不同环境的配置,写到不同的文件中,比如(dev,test ,exp,prod)等环境,在项目上线时,我们只需要根据 Profile属性,打包相应的属性文件,这样避免的手动修改配置引起的认为问题,但无法解决...

Mysql联合索引

Mar 28, 2018 by donaldhan

目录 引言 测试联合索引 测试左连接操作 模糊查询索引问题 总结 引言 本文不打算介绍Mysql索引的使用原理,只是记录当使用联合索引的时候,什么情况使用索引,什么情况下不用索引,以及模糊查询什么情况下走索引, 什么情况下不走索引。 测试联合索引 首先创建用户表: CREATE TABLE `userx` ( ...

Netty总结

Feb 6, 2018 by donaldhan

引言 Netty 是一个易于使用网络通信的客户端/服务器框架,利用Java的高级网络的能力,隐藏其背后的复杂性。同时是一个使用广泛的Java网络编程框架(Netty 在 2011 年获得了Duke’s Choice Award。它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x, Apa...

Mina总结

Feb 3, 2018 by donaldhan

引言 Mina是一个网络通信应用框架,是基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina提供了事件驱动、异步(Mina的异步IO,默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina的相关组件有IoService,IoProcessor,...