摘要:
分析Raft的安全性 阅读全文
摘要:
解读Raft协议的选举和日志复制 阅读全文
摘要:
最近工作中讨论到了Raft协议相关的一些问题,正好之前读过多次Raft协议的那paper,所以趁着讨论做一次总结整理。
我会将Raft协议拆成四个部分去总结:算法基础、选举和日志复制、安全性、节点变更。 这是第一篇:《解读Raft(一 算法基础)》 阅读全文
摘要:
《Time, Clocks, and the Ordering of Events in a Distributed System》大概是在分布式领域被引用的最多的一篇Paper了。
这篇Paper自己去年读过两次,最近尝试翻译了一下。第一是觉得太经典了,分布式领域必读论文;第二是想再加深下自己的理解。
英文水平有限,有兴趣还是建议读一下原文。 阅读全文
摘要:
介绍什么是延迟消息,延迟消息在业界的实现情况,分析延迟消息的难点,分析RocketMQ延迟消息的实现,推导延迟消息的方案。 阅读全文
摘要:
最近关注OpenMessaging项目,它尝试去定义一套MQ领域的行业标准。MQ目前确实没有一套标准的接口,如果我们尝试从更高的层次看自己的项目,即我们希望它成为行业标准,那么现在项目中接口的定义合适吗?是否够通用、简洁、易用、合理?
带着这样的疑问,最近把Kafka Consumer部分的源码读了一遍,因为:
1. Kafka应该是业界最著名的一个开源MQ了(RocketMQ最初也是参考了Kafka去实现的)
2. 希望通过读Kafka源码能找到一些定义MQ接口的想法
但是在读完Kafka Consumer部分的源码后稍稍有一些失望,因为它并没有给我代码我想要的,反而在读完后觉得接口设计和源码实现上相对于Kafka的盛名有一些名不副实的感觉。 阅读全文
摘要:
分享2017年上海QCon《携程第四代架构之软负载SLB实践之路》、《恒生中间件如何助理证券经纪业务发展》和《Heron的Exactly-Once实现》(消息exactly-once语义实现)的总结 阅读全文
摘要:
本来这个公众号的交流消息中间件相关的技术的。这周去上海参加了QCon,第一次参加这样的技术会议,感受挺多的,所以整理一下自己的一些想法接公众号和大家交流一下。
下面进入正题,从自己参加了的一些分享中挑一些有趣的议题来和大家讨论。 阅读全文
摘要:
本来这个公众号的交流消息中间件相关的技术的。这周去上海参加了QCon,第一次参加这样的技术会议,感受挺多的,所以整理一下自己的一些想法接公众号和大家交流一下。
下面进入正题,从自己参加了的一些分享中挑一些有趣的议题来和大家讨论。 阅读全文
摘要:
"In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems."——维基百科
在计算机领域,WAL(Write-ahead logging,预写式日志)是数据库系统提供原子性和持久化的一系列技术。
在使用WAL的系统中,所有的修改都先被写入到日志中,然后再被应用到系统状态中。通常包含redo和undo两部分信息。 阅读全文
摘要:
采用Pull模型还是Push模型是很多中间件都会面临的一个问题。消息中间件、配置管理中心等都会需要考虑Client和Server之间的交互采用哪种模型:
服务端主动推送数据给客户端?
客户端主动从服务端拉取数据?
本篇文章对比Pull和Push,结合消息中间件的场景进一步探讨有没有其他更合适的模型。 阅读全文
摘要:
接上一篇《消息中间件核心实体(0)》,这一篇继续介绍消息中间件中的一些实体。
上一篇主要是Message、Topic、TopicMeta和Queue这样最基础的实体,这几篇介绍一些发送和消费的过程中会涉及到的实体和组件。 阅读全文
摘要:
MQ中一些重要实体介绍 阅读全文
摘要:
介绍消息中间件的队列模型和消息的写入及读取流程 阅读全文
摘要:
介绍MQ的NameServer的模块划分 阅读全文