摘要: 这篇文章会重点讲述Codis Proxy的初始化,即启动的过程,其实也不完全是Codis Proxy的初始化,应该说是Codis面向用户请求链路的初始化,即经过这一系列的初始化,Codis Proxy才能对外提供服务 阅读全文
posted @ 2020-12-13 22:52 szphper 阅读(407) 评论(0) 推荐(0) 编辑
摘要: Proxy请求处理分了2层,一层是前端客户端的连接,由Session模块处理;第2层是处理与后端Codis Server的连接,由BackendConn处理; 两者都实现了基于读、写事件驱动的异步编程来提高系统的吞吐率。 阅读全文
posted @ 2020-12-13 22:50 szphper 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 一、Codis介绍 Codis是豌豆荚开源的Redis集群方案,github地址: https://github.com/CodisLabs/codis 以下是官方介绍: Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis 阅读全文
posted @ 2020-11-14 18:12 szphper 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 快照(snapshot)是最简单的压缩方式。在快照中,全部的当前系统状态都被写入到快照中,存储到持久化的存储中,然后在那个时刻之前的全部日志都可以被丢弃。像Redis这样的KV系统,系统的当前状态就是当前所有key的值及过期时间。 阅读全文
posted @ 2020-10-25 16:26 szphper 阅读(1319) 评论(0) 推荐(0) 编辑
摘要: “共识”算法主要解决分布式系统的一致性的问题,目前相关的算法有:Paxos、Raft、ZAB,由斯坦福大学的Diego Ongaro和John Ousterhout在2014年提出,在证明了算法的正确性之外,还提供了相关实现及参考代码,所以媒体一直宣传这个算法比Paxos要更容易理解 阅读全文
posted @ 2020-10-19 00:00 szphper 阅读(428) 评论(0) 推荐(0) 编辑
摘要: Raft 算法使用一个随机计时器来选举领导者。这种方式只是在任何一致性算法都必须实现的心跳机制上增加了一点机制,在解决冲突的时候会更加简单快捷。 阅读全文
posted @ 2020-10-18 23:57 szphper 阅读(2093) 评论(1) 推荐(0) 编辑
摘要: Raft算法中日志部分应该是比较复杂的了,一部分是日志需要在多服务器保持一致,因此日志本身的状态比较复杂,另外还要考虑性能问题,即写入不能太慢 ,特别是对于一个7*24小时在线的服务 阅读全文
posted @ 2020-10-18 23:54 szphper 阅读(775) 评论(0) 推荐(0) 编辑
摘要: Skywalking是一款分布式追踪应用,具体介绍可以参考 skywalking。 最近公司的一个Php应用在Skywalking后台查不到数据了: 登录到某台服务器上发现注册不上,启动时就报错了: 先来整理下Skywalking php的整个流程,php扩展在系统启动时注册应用和实例,然后在每次请 阅读全文
posted @ 2020-09-19 11:03 szphper 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 用的是Zookeeper扩展,Php版本为7.2.17,下载地址: https://pecl.php.net/package/zookeeper 用的是0.6.4版本 创建节点官方给的示例如下: <?php $zookeeper = new Zookeeper('locahost:2181'); $ 阅读全文
posted @ 2020-08-21 13:01 szphper 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 一、Atlas介绍 Atlas是360开源的一个Mysql Proxy,以下是官方介绍: Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很 阅读全文
posted @ 2020-08-17 21:34 szphper 阅读(475) 评论(0) 推荐(0) 编辑