redis-lua 事物

Posted by 夏泽民

lua 脚本的优势在于,支持在顺序操作中有分支判断的能力



explain mysql 执行计划

Posted by 夏泽民

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。



mysql的隐式类型转换

Posted by 夏泽民

隐式类型转换有无法命中索引的风险,在高并发、大数据量的情况下,命不中索引带来的后果非常严重。将数据库拖死,继而整个系统崩溃,对于大规模系统损失惨重。



zookeeper 实现配置同步 服务发现

Posted by 夏泽民

https://github.com/knightliao/disconf Distributed Configuration Management Platform(分布式配置管理平台) zookeeper 五个功能点

  1. master的管理,如amq 集群,kafka集群。
  2. 分布式锁(悲观、乐观)
  3. 分布式配置中心。
  4. 集群的监管。
  5. 发布与订阅(队列)。


zk 实现分布式锁

Posted by 夏泽民

znode数据结构有如下特点: 1> 每个znode都有唯一路径标识,最顶层的znode为/,比如p_2这个znode的路径标识为/app1/p_2,znode只支持绝对路径,不支持相对路径,也不支持“.”和“..” 2> znode可以有子节点,并且每个znode可以存储数据。但zk是被设计用来协调管理服务的,因此znode里存储的都是一些小数据,而不是大容量的数据,数据容量一般在1M范围内。 3> znode的数据有版本号,可以用在并发访问场景中,用乐观锁机制实现数据的一致性 4> znode分为临时节点和永久节点,zk的客户端和服务器通信采用长连接的方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为session,如果znode是临时节点,当session失效(即客户端与服务器断开连接),znode会被服务器自动删除。 5> znode的节点名称可以自动编号,如果app1已经存在,再创建的话,将会自动命名为app2,这种节点称为序列节点。 6> znode可以被监控,包括这个节点中存储的数据被修改、子节点列表变化(删除或新增子节点)等,一旦变化,zk服务器会通过所有监控该节点的客户端,这是zk的核心特性,zk很多的功能都是基于这个特性实现的。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required