Kafka作为一个常用消息中间件,他具备很多优秀的特点,在此,文章从消息的发送到kafka存储,然后到消费方进行消费,进行一个流程性的介绍,希望能够对kafka有个基本的了解
首先,我们如何向kafka发送消息的呢?
![a626943339b08bb47dc53bb5743f18ac.png](https://i-blog.csdnimg.cn/blog_migrate/1331553026c2c40905cdb549f15418b8.jpeg)
其中 客户端的代码连接到kafka集群地址,设置所有的消息都需要ack返回,重试次数为0等信息。生成消息生产者producer,producer连接到Kafka集群,根据消息进行分区计算,将消息发送leader分区的broker。
那么如何进行分区确定?
如何寻找到leader分区,如何感知leader分区的变化?
如何确保消息发送的可靠性?
消息分区的确定:
![66c4f0345642049920ac0550777f63cc.png](https://i-blog.csdnimg.cn/blog_migrate/c359e0e931741e22e7570de58befd4e5.png)
其中ProducerRecord,就提供了参数,让生产者对消息指定分区