这两个选择都很艰难。kafka虽然号称是一个分布式的系统,但是对于单partition的写入仍然是单点的。
解决办法也很简单。就是如果partition 1写入失败,就去写partition 2。不同partition的master可以是不同的节点。或者可以同时写多个partition,一个成功就算成功。代价是放弃了单partition的消息有序性,以及更多的消息冗余而且消费方要做更多的努力去保持幂等。
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。