摘要:
要深入学习Kafka,理解Kafka的存储机制是非常重要的。本文介绍Kafka存储消息的格式以及数据文件和索引组织方式,以便更好的理解Kafka是如何工作的。 阅读全文
摘要:
设计和部署互联网级别的服务的最佳实践! 阅读全文
摘要:
日常开发中我们接触到的和事件最接近的应该是消息,这两者也比较容易混淆,难以说清楚它们的界限:什么是事件,而什么是消息? 阅读全文
摘要:
本文主要介绍了Kafka的几种分区分配策略:RangeAssignor、RoundRobinAssignor、StickyAssignor。其中重点分析了StickyAssignor的实现,StickyAssignor的模式能比RangeAssignor和RoundRobinAssignor提供更加均衡的分配结果,在发生Consumer或者Partition变更的情况下,也能减少不必要的分区调整。总体而言StickyAssignor是一种更好的分配算法,只是实现上稍微有一些复杂。 阅读全文
摘要:
本文介绍Ubiq的架构,它是一个分布式系统,用于处理不断增长的日志文件,具有可扩展性、高可用、低延迟的特性。Ubiq框架容忍基础设施退化和数据中心级别的中断问题,无需人工干预。并且它支持exactly-once语义以将日志作为事件的集合进行处理。Ubiq已经应用于Google的广告系统多年,生产环境证明了机器资源的线性可扩展性,以及基础设置故障的情况下的高可用性和一分钟内的端到端的延迟。 阅读全文
摘要:
介绍Paxos协议的表决过程及一致性证明 阅读全文
摘要:
最近的考古发现表明,在Paxos小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用。他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘。Paxon议会协议提供了一种新方法去实现设计分布式系统的状态机。 阅读全文
摘要:
本文讲述分布式系统中一致性问题的由来,并介绍几种一致性模型。 阅读全文
摘要:
“Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API.”
Pulsar是pub-sub模式的分布式消息平台,拥有灵活的消息模型和直观的客户端API。
Pulsar由雅虎开发并开源的下一代消息系统,目前是Apache软件基金会的孵化器项目。
本片文章简单介绍Pulsar的Consumer,包含以下内容:Consumer的体系、消费逻辑的实现 阅读全文
摘要:
本片文章简单介绍Pulsar的Producer,包含以下内容:Producer的设计、消息发送的实现 阅读全文
摘要:
这周RocketMQ发布了4.3.0版本,New Feature中最受关注的一点就是支持了事务消息。今天花了点时间看了下具体的实现内容,下面是简单的总结。 阅读全文
摘要:
介绍Apache Pulsar的概念和架构,以及GEO-REPLICATION,之后对比RocketMQ。 阅读全文
摘要:
Kafka在0.10版本推出了Stream API,提供了对存储在Kafka内的数据进行流式处理和分析的能力。
本文将从流式计算出发,之后介绍Kafka Streams的特点,最后探究Kafka Streams的架构。 阅读全文
摘要:
介绍RocketMQ中顺序消息的实现机制 阅读全文
摘要:
分析Raft的成员变更过程 阅读全文