[聚合文章] RAID 6 应用于消息队列

消息系统 2017-12-19 20 阅读
当往kafka master的网络出问题了。或者kafka master自身在选主的时候。要么业务系统选择放弃latency,去等待故障修复
  • 要么业务系统选择丢数据。在kafka master不可用的时候把消息给扔掉
  • 这两个选择都很艰难。kafka虽然号称是一个分布式的系统,但是对于单partition的写入仍然是单点的。

    解决办法也很简单。就是如果partition 1写入失败,就去写partition 2。不同partition的master可以是不同的节点。或者可以同时写多个partition,一个成功就算成功。代价是放弃了单partition的消息有序性,以及更多的消息冗余而且消费方要做更多的努力去保持幂等。

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