logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

golang通过zookeeper实现master选举

golang通过zookeeper实现master选举应用程序中有一个定时任务模块,之前是单机部署的,在实现多实例部署之后就对应用程序有了如下要求:一个定时任务只能在一个实例上运行一个应用实例故障后,原本由该实例执行的定时任务需要在其它实例上继续运行Zookeeper 能够很容易实现这样的集群管理功能,它能够维护当前的集群中机器的服务状态,而且能够选出一个“总管”,让这个总管来管理集群

#golang#zookeeper
Mycat从入门到放弃

当初写这篇文章的初衷只是想提醒自己在用一个开源产品前不仅要了解其提供的功能,更要了解其功能和场景边界。1.非分片字段查询Mycat中的路由结果是通过分片字段和分片方法来确定的。例如下图中的一个Mycat分库方案:根据 tt_waybill 表的 id 字段来进行分片分片方法为 id 值取 3 的模,根据模值确定在DB1,DB2,DB3中的某个分片如果查询条件中有 ...

Mycat从入门到放弃

当初写这篇文章的初衷只是想提醒自己在用一个开源产品前不仅要了解其提供的功能,更要了解其功能和场景边界。1.非分片字段查询Mycat中的路由结果是通过分片字段和分片方法来确定的。例如下图中的一个Mycat分库方案:根据 tt_waybill 表的 id 字段来进行分片分片方法为 id 值取 3 的模,根据模值确定在DB1,DB2,DB3中的某个分片如果查询条件中有 ...

MySQL关联查询

在实际应用中,经常需要在一个查询语句中显示多张表的数据,这种多表数据记录连接查询,简称连接查询。关系数据操作连接操作是关系数据操作中专门用于数据库操作的关系运算。这里将先详细介绍关系数据操作中传统的三种运算:并(UNION)笛卡尔积(CARTESIAN PRODUCT)连接(JOIN)其中连接(JOIN)是专门针对数据库操作的运算。

#mysql#数据库
记一次MySQL中Waiting for table metadata lock的解决方法

最近项目中的数据库查询经常挂起,应用程序启动后也报操作超时。测试人员就说数据库又挂了(貌似他们眼中的连接失败,查询无果都是挂了),通过 show processlist 一看,满屏都是 Waiting for table metadata lock 状态的连接。第一反应就是kill掉这些连接,奈何连接实在太多,实在kill不过来,于是重启服务,貌似重启果真能解决90%的问题,但如果不找到问题原因,

#mysql
MySQL索引原理

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。

#mysql
记一次MySQL中Waiting for table metadata lock的解决方法

最近项目中的数据库查询经常挂起,应用程序启动后也报操作超时。测试人员就说数据库又挂了(貌似他们眼中的连接失败,查询无果都是挂了),通过 show processlist 一看,满屏都是 Waiting for table metadata lock 状态的连接。第一反应就是kill掉这些连接,奈何连接实在太多,实在kill不过来,于是重启服务,貌似重启果真能解决90%的问题,但如果不找到问题原因,

#mysql
MySQL索引原理

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。

#mysql
到底了