通过kafka发送消息
我们使用阻塞队列发送消息系统。
阻塞队列是java自带API
通过put和take阻塞
生产者
一个生产者,一个消费者
消息持久化,将消息用就的存放在硬盘中。而不是简单的存放到内存中。硬盘比内存价格低,能存放的内容多。硬盘的顺序读取比内存的随机读取要高。
kafka是发布订阅模式。
Broker:Kafka集群的服务器
Zookeeper:独立的软件、应用。能够独立的管理其他的集群。
Topic:主题 ,生产者将消息发布的位置就是主题。
Partition:分区,对主题进行分区,可采用多线程的方式,并发能力提高。
Offset:消息在分区的索引。
Leader Replica:主副本
Follower Replica:从副本,从副本只是备份。
下载安装即可
修改Zookeeper的路径
修改Server的配置
kafka的文档
重新开启一个cmd
在启动一个cmd
使用kafka的命令工具
首先创建主题,kafka采用的是发布订阅模式
主题代表了一种位置,代表了消息的分类。点赞的消息看做一个主题,关注的消息看做另外一个主题。利用工具创建主题。
创建主题需要说明是在哪个服务器上创建主题。
kafka默认的的端口是9092没有任何提示创建好了
为了确认,我们可以在执行以下查看所有的主题
以生产者模式发送,调用生产者模式
通过消费者命令查看是否接受到消息。
生产者发送消息和消费者接受消息的过程
引入依赖
进行配置
配置端口9092
配置消费者分组id
配置是否自动提交消费者的偏移量
配置自动提交的频率,3000毫秒
comsumer.properties(group.id修改后重启才有效)
通过测试代码使用kafka
@Component说明这是一个Bean
在调用模板之前加入一个拦截器