Kafka各组件
Broker(一个kafka节点)
每个kafka节点称为一个Broker,一个服务器上可以部署一个或者多个kafka的节点(示例图中只部署了一个),然后这些节点连接到注册中心上,就形成了一个kafka的集群。
Topic
即主题,在kafka中消息是分类型的,比如用户行为日志类型,支付订单类型,结算数据类型等,不同类别的消息在生产的时候可以指定发送到不同的Topic里。
有两个主节点在在这台服务器上,在实际环境中,我们可以尽可能的均匀分配主节点,这样每一台服务器的压力就差不多了。
总结
可以看出kafka的奇妙架构以及这种架构带来的优势,当然在某些情况下可能会带来负载不均衡,但我们也可以通过调整来避免这些情况,详细可以看这篇文章
总的来说,Kafka 只支持主写主读有几个优点:
可以简化代码的实现逻辑,减少出错的可能;将负载粒度细化均摊,与主写从读相比,不仅负载效能更好,而且对用户可控;没有延时的影响;
在副本稳定的情况下,不会出现数据不一致的情况。为此,Kafka 又何必再去实现对它而言毫无收益的主写从读的功能呢?这一切都得益于 Kafka 优秀的架构设计,从某种意义上来说,主写从读是由于设计上的缺陷而形成的权宜之计。