spring cloud 搭建流程记录

消息总线之kafka

2017-06-28  本文已影响0人  itfinally

继上一篇消息总线之zookeeper之后,终于到部署 kafka 了,如果不记得上一篇描述的目录结构,那... 怪我咯?

注意,这里用的 kafka 版本是 0.10 版,之前版本的配置跟这个版本不一样。

在部署了三个 zk 实例并形成集群之后,接下来也部署三个 kafka 实例,这里有个比较有意思的点,启动 kafka 的时候,我发现第一个实例总是会先看看有没有其他实例,没有话直接把自己当成 leader 了,后来跟上的全是小弟。( 第 n + 1 ( n > 0 ) 个节点:好气哦,可我要保持微笑! )

config 目录下的 server.properties 是 kafka 的配置,其中有几项比较重要的属性

更多属性,这有篇官网翻译的配置表可以查看。
别费力气去找度娘了,度娘给你找的全是 0.8 or 0.9 版的配置,嗮心机挨眼瞓。

什么,你不知道 kafka 的设计?来戳这里。就像 47 所言,知己知彼就是完成任务的50%。如果还不够,其实上面的配置表就是官网文档翻译的一部分,那有一整套翻译的说明文。

在正确配置上述属性之后,先来创建个频道( 有人叫频道,有人叫事件,有人叫channel,who TM care? just running it )。我这里创建一个 testing 的频道。
kafka-topic --create --zookeeper zk-node0:3010,zk-node1:3110,zk-node2:3210 --replication-factor 3 --partitions 3 --topic testing

其中:

然后分别启动 kafka producer & consumer
kafka-console-producer --broker-list kafka-node:4000 --topic testing
kafka-console-consumer --zookeeper zk-node1:3010 --topic testing --from-beginning

注意这两条指令的区别,第一条是连接生产者,给出的是 kafka 的实例地址,第二天连接消费者,给出的是 zk 的实例地址。

好了,连上后如果随便写条消息,如果推得动就说明成功了。

producer 推出一条叫 wei 的消息 consumer 收到一条叫 wei 的消息

等等,怎么 consumer 收到那么多消息? producer 只发了一条哎?!
这是因为 kafka 本身就是把消息写在硬盘上的,消息默认存活期是100多个小时,具体时间在 server.properties 有写。

到这里 kafka 的部署就完成啦。

上一篇 下一篇

猜你喜欢

热点阅读