Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息数据处理应用。Kafka 支持Java 及多种其它语言客户端,可与Hadoop、Storm、Spark等其它大数据工具结合使用。
准备
环境安装
测试用例
Github 代码
代码我已放到 Github ,导入spring-boot-kafka
项目
github https://github.com/souyunku/spring-boot-examples/tree/master/spring-boot-kafka
添加依赖
在项目中添加 kafka-clients
依赖
1 | <dependency> |
启用 kafka
1 |
|
消息生产者
1 |
|
消息消费者
1 |
|
参数配置
application.properties
1 | #kafka |
启动服务
1 |
|
单元测试
1 | import io.ymq.kafka.MsgProducer; |
消息生产者,响应
1 | 2017-10-17 15:54:44.814 INFO 2960 --- [ main] io.ymq.kafka.MsgProducer : 向kafka推送数据:[topic--------1] |
消息消费者,响应1
2消息被消费topic--------1
消息被消费topic--------2
代码我已放到 Github ,导入spring-boot-kafka
项目
github https://github.com/souyunku/spring-boot-examples/tree/master/spring-boot-kafka
遇到一些坑
1 | [2017-10-16 19:20:08.340] - 14884 严重 [main] --- org.springframework.kafka.support.LoggingProducerListener: Exception thrown when sending a message with key='null' and payload='topic--------2' to topic topic-2: |
经调试发现 kafka 连接是用的主机名,所以修改 hosts
1 | C:\Windows\System32\drivers\etc\hosts |
出处:http://www.ymq.io
转自:鹏磊