go kafka异步生产 kafka异步写入_发送消息


通过kafka发送消息

我们使用阻塞队列发送消息系统。

阻塞队列是java自带API

通过put和take阻塞

生产者

go kafka异步生产 kafka异步写入_kafka_02


go kafka异步生产 kafka异步写入_分布式_03


一个生产者,一个消费者

go kafka异步生产 kafka异步写入_java_04


Kafka入门

go kafka异步生产 kafka异步写入_go kafka异步生产_05


http://kafka.apache.org消息持久化,将消息用就的存放在硬盘中。而不是简单的存放到内存中。硬盘比内存价格低,能存放的内容多。硬盘的顺序读取比内存的随机读取要高。

kafka是发布订阅模式。

Broker:Kafka集群的服务器

Zookeeper:独立的软件、应用。能够独立的管理其他的集群。

Topic:主题 ,生产者将消息发布的位置就是主题。

Partition:分区,对主题进行分区,可采用多线程的方式,并发能力提高。

Offset:消息在分区的索引。

Leader Replica:主副本

Follower Replica:从副本,从副本只是备份。

go kafka异步生产 kafka异步写入_kafka_06


下载安装即可

go kafka异步生产 kafka异步写入_go kafka异步生产_07

go kafka异步生产 kafka异步写入_go kafka异步生产_08


go kafka异步生产 kafka异步写入_java_09


修改Zookeeper的路径

go kafka异步生产 kafka异步写入_java_10


修改Server的配置

go kafka异步生产 kafka异步写入_go kafka异步生产_11

kafka的文档

go kafka异步生产 kafka异步写入_java_12

go kafka异步生产 kafka异步写入_分布式_13


go kafka异步生产 kafka异步写入_java_14


重新开启一个cmd

go kafka异步生产 kafka异步写入_kafka_15


在启动一个cmd

使用kafka的命令工具

首先创建主题,kafka采用的是发布订阅模式

主题代表了一种位置,代表了消息的分类。点赞的消息看做一个主题,关注的消息看做另外一个主题。利用工具创建主题。

创建主题需要说明是在哪个服务器上创建主题。

kafka默认的的端口是9092没有任何提示创建好了

go kafka异步生产 kafka异步写入_kafka_16


为了确认,我们可以在执行以下查看所有的主题

go kafka异步生产 kafka异步写入_分布式_17


以生产者模式发送,调用生产者模式

go kafka异步生产 kafka异步写入_java_18


通过消费者命令查看是否接受到消息。

go kafka异步生产 kafka异步写入_java_19


生产者发送消息和消费者接受消息的过程

go kafka异步生产 kafka异步写入_go kafka异步生产_20


go kafka异步生产 kafka异步写入_分布式_21


Spring整合Kafka

go kafka异步生产 kafka异步写入_kafka_22


go kafka异步生产 kafka异步写入_kafka_23


go kafka异步生产 kafka异步写入_分布式_24


引入依赖

go kafka异步生产 kafka异步写入_go kafka异步生产_25


进行配置

配置端口9092

配置消费者分组id

配置是否自动提交消费者的偏移量

配置自动提交的频率,3000毫秒

go kafka异步生产 kafka异步写入_go kafka异步生产_26


comsumer.properties(group.id修改后重启才有效)

go kafka异步生产 kafka异步写入_kafka_27


通过测试代码使用kafka

@Component说明这是一个Bean

go kafka异步生产 kafka异步写入_发送消息_28


go kafka异步生产 kafka异步写入_kafka_29


go kafka异步生产 kafka异步写入_java_30


在调用模板之前加入一个拦截器

go kafka异步生产 kafka异步写入_go kafka异步生产_31


go kafka异步生产 kafka异步写入_go kafka异步生产_32


go kafka异步生产 kafka异步写入_java_33


go kafka异步生产 kafka异步写入_发送消息_34