[聚合文章] 关于消息队列的心愿单

消息系统 2017-12-17 27 阅读
但是队列大部分的用途是记录下来什么事情已经发生了。我压根不关心offset是什么。直接写多个副本,成功了大部分就返回,然后在读取的时候,或者异步地去提前merge(就像CRDT那样)是完全可以接受的trade off。消息也不需要是有序的。

海量topic以及CAS

目标:immutable event 构成的 shared log 是非常重要的基础设施,在上面可以实现各种数据库,各种计算模型。redis提供了很好的原子能力,所以大家很喜欢它,瑞士军刀一般。但是在分布式领域,没有redis这样的基础组件,导致每个存储都从队列开始从头写起。

kafka的topic数量有限制,partition数量有限制。topic数量要做到和订单数量一个级别,比如每天两千万个这样的级别。海量topic和前面可检索的队列是一个技术。

另外kafka本身没有办法对同一个offset进行cas争抢。cas实际上就是单个object的linearizable的写入支持。所以这个目标其实就是实现一个类似corfu这样的shard log。

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。