08 2017 档案
摘要:Follower是 follower节点启动的和leader进行同步的功能类 主要逻辑如下: 1.和leader建立链接 2.向leader发送自己的epoch和zxid. 处理来自leader的数据包
阅读全文
摘要:QuorumPeer是zookeeper执行同步,选主过程的线程 主要逻辑: 1.当自己处于 LOOKING状态: 执行lookForLeader() 2.当自己处于OBSERVING状态: 建立一个Observer服务和leader进行同步 3.当自己处于LEADING时: 建立一个Leader服
阅读全文
摘要:FastLeaderElection是zookeeper默认的选举算法,当peer处于ServerState.Looking状态时会执行FastLeaderElection.lookForLeader进行选主. 重要数据结构: 1.HashMap<Long, Vote> recvset: 本轮选举中
阅读全文
摘要:Leader中重要的数据结构: 1.ConcurrentMap<Long, Proposal> outstandingProposals: 维护了待follower同步的proposal. 由 leader.propose负责插入, 由 leader.processAck负责移除. 2.Concur
阅读全文
摘要:LeanerHandler是Leader接收Follower和Observer连接请求一个线程,当leader election结束后,follower或observer会主动连接leader,并向leader发送自己的 epoch 和 zxid,以供leader选出最大的epoch. zookee
阅读全文
摘要:参考动画 http://thesecretlivesofdata.com/raft/ 节点类型: 1.leader 领导者 2.follower 跟随者 3.candidate 候选人 选择阶段:leader election. . 发生阶段可能是集群初始化启动或者发生网络分区跟leader失去联系
阅读全文
posted @ 2017-08-18 11:12
liron
摘要:jmap -heap $pid 打印堆使用信息,如新生代,老年代使用情况 jmap -dump:live,format=b,file=heap.bin $pid dump堆信息 jmap -histo:live $pid 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加
阅读全文
摘要:jps -q //查询所有vm进程号 jps -v / 输出传递给JVM的参数 jps -m //传递给main函数的参数args jps -l //输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
阅读全文
摘要:jstat -gc pid //以字节形式展现 jstat -gcutil pid //以百分比形式展现 jstat -class pid //类加载和卸载状况 jstat -compilier pid //查看Jit编译的方法数及失败情况 jstat -printcompilation 4672
阅读全文
摘要:Innodb引擎 1.innodb_buffer_pool_size 这个参数主要作用是缓存innodb表的索引,表数据,插入数据时的缓冲,可用内存70~80%比较合理. show status like 'Innodb_buffer_pool_%'; 2.nnodb_purge_batch_siz
阅读全文
摘要:MyISam引擎: 1.query_cache_size MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。 SHOW STATUS LIKE 'Qcache%'; 当查询中有一些不确定的数据时,是不会缓存的,比方说now(),current_d
阅读全文
摘要:1.事物支持 MyIsam引擎不支持事物,Innodb支持事物 2.锁粒度 MyIsam支持表锁,Innodb支持行级锁和表锁,行级锁实现的方式是通过对索引加锁. 3.数据安全性 MyIsam相较于Innodb数据容易损坏,不容易恢复. 4.索引 MyISam主键索引和普通索引相同,都是保存的数据行
阅读全文
摘要:order by主要优化出现filesort的情况,以下情况可以使用索引. 1.order by 字段都来自驱动表且满足索引的最左前缀. select a from test order by a,b 2.当order by字段不是最左前缀时,如果字段前的字段为常量则可以利用. select a f
阅读全文
摘要:优化group by查询的时候,一般的会想到两个名词:松散索引扫描(Loose Index Scan)和紧凑索引扫描(Tight Index Scan),因为通过这两种索引扫描就可以高效快速弟完成group by操作。 松散索引扫描(Loose Index Scan): 松散索引扫描只需要读取很少量
阅读全文
摘要:1.select_type simple :它表示简单的select,没有union和子查询 dependent union:union依赖外层的查询 dependent subquery:subquery依赖外层的查询 2.type system:表仅有一行,这是const类型的特列,平时不会出现
阅读全文