Consumer 就是消息的使用者,或者叫消费者。Consumer 跟 Producer 一样,一般就是你自己写的一些服务端应用。
先停止一下这个 Producer,我们可以重新再创建一个普通的 Producer,用 kafka-console-producer 命令,生产的消息放在 demo 这个 topic 里面。
新建一个标签,在这个标签可以创建一个 Consumer,用 kafka-console-consumer 这个命令,加上一个 bootstrap-server 选项,服务器是 localhost:9092,让这个 consumer 使用 demo 这个 topic 里的消息。
这里没有输出 demo 这个 topic 之前的消息,如果你想让这个 Consumer 使用之前的消息,可以在创建这个 consumer 的时候,加上一个 --from-beginning 这个选项。这样会从上一次使用的消息开始消费 topic 里的消息。
这里输出了 demo 这个 topic 里的所有的消息。 因为之前这个 consumer 没有消费过这个 topic 里的消息。仔细观察一下这些消息,你会发现,消息并不是按顺序输出的。
这是因为这个 demo 有两个分区,每一个分区里都有一些消息。
回到这个 Producer ,输入一条新的消息,执行一下, 再回到 Consumer,在这里会输出在 Producer 生产出来的这条消息。
我们可以再去生产两条消息, 在 Consumer 这里都会输出这些新的消息。