随笔 - 295
文章 - 0
评论 - 16
阅读 -
41万
12 2017 档案
zk maxClientCnxns参数
摘要:在zk模板配置文件中有: 这个配置的作用就是:一个ip所对应的客户机,只能和zk服务器维持60个连接。 以NIOServerCnxnFactory为例: tips: 关心这个参数,是因为之前有人上线时,客户端连接数超过了默认值,导致无法建立连接。
阅读全文
zk键值数据结构
摘要:首先看一张zk官网上的图: zk为我们提供了一种类似于文件存储的树形数据结构,那么它是如何实现的呢? 先假定我们有一个map,以路径名作为键,以节点作为值,如下: “/” -> 节点1,“/app1” -> 节点2,“/app2” -> 节点3,“/app1/p_1” -> 节点4…… 同时,每个节
阅读全文
MessageFormat格式化数字
摘要:使用MessageFormat格式化数字,有一个很隐蔽的技巧点: 程序输出:3.14,3.1 上述代码修改一处: 程序输出: 3.14 ,3.1 "#.##"字符串的格式,会影响格式化的结果。
阅读全文
zk如何实现watch
摘要:在客户端发送命令:stat /zhang watch 在zk server中产生如下图的调用栈: 我们详细分析addWatch代码: 在创建、删除、设置节点数据时,会触发watch:
阅读全文
zookeeper server处理客户端命令的流程
摘要:zk server处理命令涉及到3个类,2个线程:一个命令请求先后经过PrepRequestProcessor,SyncRequestProcessor,FinalRequestProcessor。 PrepRequestProcessor类对应线程ProcessThread,SyncRequest
阅读全文
eclipse编译zookeeper源码
摘要:使用版本zookeeper-3.4.6.jar 从官网下载zookeeper-3.4.6.tar.gz,解压缩到 D:\tools 文件夹,目录结构如下图。 1. Eclipse新建java工程; 2. 将D:\tools\zookeeper-3.4.6\src\java\generated目录下的
阅读全文
zk客户端的ClientCnxn类
摘要:ClientCnxn是客户端的类:该类管理zk客户端的socket io,维持一个可用服务器的列表。 Packet封装了请求、响应以及回调等。 ClientCnxn类中有SendThread和EventThread两个线程,SendThread负责io(发送和接收),EventThread负责事件处
阅读全文
dubbo的超时重试
摘要:dubbo的超时分为服务端超时 SERVER_TIMEOUT 和客户端超时 CLIENT_TIMEOUT。本文讨论服务端超时的情形: 超时:consumer发送调用请求后,等待服务端的响应,若超过timeout时间仍未收到响应,则抛异常。 dubbo consumer 超时重试的逻辑在 Failov
阅读全文
信号屏蔽字
摘要:linux的进程有一个信号屏蔽字,如果某个信号在信号屏蔽字中被置位,则当产生该信号时,内核并不会把该信号递送给进程, 这称为信号的未决。当该信号从信号屏蔽字中移除时,内核会把未决信号递送给进程,进程执行对应的信号处理函数。 在linux中,通过 kill 命令给进程发送信号: 如:kill -SIG
阅读全文
常用sql
摘要:1. insert ... select 2. 使用变量 3. update ... join 4. delete from 和 truncate 的区别 对于MySQL,truncate一张表,表中AUTO_INCREMENT的列序号会清零。 5. having 和 where 的用法一样,whe
阅读全文