springboot整合kafka应用
1、kafka在消息传递的使用非常普遍,相对于activemq来说kafka的分布式管理和使用更加灵活。
2、activemq的搭建和使用可以参考:
activemq搭建和springmvc的整合:http://www.cnblogs.com/ll409546297/p/6898155.html
springboot和springboot的整合:http://www.cnblogs.com/ll409546297/p/7805072.html
3、kafka的搭建:
http://www.cnblogs.com/ll409546297/p/7810302.html
4、下面介绍kafka和springboot的整合
1)目录结构

2)需要的基础包:pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.troy</groupId>
<artifactId>springbootkafka</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
</dependencies> </project>
3)基本配置:application.yml
server:
port: 8090
spring:
kafka:
bootstrap-servers: 192.168.5.10:9092 #kafka的访问地址,多个用","隔开
consumer:
enable-auto-commit: true
group-id: kafka #群组ID
auto-offset-reset: earliest #启东时接收没有接收到的数据
如果存在集群的话,配置如下
server:
port:
spring:
kafka:
consumer:
enable-auto-commit: true
group-id: kafka
auto-offset-reset: earliest
bootstrap-servers: 192.168.5.11:
producer:
bootstrap-servers: 192.168.5.10:
4)生产者:KafkaProducer.class
@Component //这个必须加入容器不然,不会执行
@EnableScheduling //这里是为了测试加入定时调度
public class KafkaProducer { @Autowired
private KafkaTemplate kafkaTemplate; @Scheduled(cron = "00/30 * * * * ?")
public void send(){
System.out.println("send data");
kafkaTemplate.send("topic","kafka data");
//发送方式很多种可以自己研究一下
}
}
5)消费者:KafkaCustomer.class
@Component //同样这里是必须的
public class KafkaCustomer { @KafkaListener(topics = {"topic"})
public void receive(String message){
System.out.println("topic========topic");
System.out.println(message);
}
}
6)测试结果:

springboot整合kafka应用的更多相关文章
- SpringBoot整合Kafka和Storm
前言 本篇文章主要介绍的是SpringBoot整合kafka和storm以及在这过程遇到的一些问题和解决方案. kafka和storm的相关知识 如果你对kafka和storm熟悉的话,这一段可以直接 ...
- SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合消息服务 2.具体内容 对于异步消息组件在实际的应用之中会有两类: · JMS:代表作就是 ...
- Kafka:Springboot整合Kafka消息队列
本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 项目结构 pom依赖包 <?xml version="1 ...
- SpringBoot整合kafka(安装)
项目路径:https://github.com/zhaopeng01/springboot-study/tree/master/study_14 序言 Kafka 是一种高吞吐的分布式发布订阅消息系统 ...
- SpringBoot整合Kafka
一.准备工作 提前启动zk,kafka,并且创建一个Topic("Hello-Kafk") bin/kafka-topics.sh --create --zookeeper 192 ...
- springboot 整合kafka
本文介绍如何在springboot项目中集成kafka收发message. 1.先解决依赖 springboot相关的依赖我们就不提了,和kafka相关的只依赖一个spring-kafka集成包 &l ...
- SpringBoot(八) SpringBoot整合Kafka
window下安装kafka和zooker,超详细:https://blog.csdn.net/weixin_33446857/article/details/81982455 kafka:安装下载教 ...
- springboot系列八、springboot整合kafka
背景: 当业务在同一时间出现高并发的时候,这个时候我们不想无限的增加服务器,但是又想提高吞吐量.这时可以考虑使用消息异步处理,进行消峰填谷:同时还可以降低耦合度.常见的消息中间件有kafka,rabb ...
- SpringBoot整合kafka(实现producer和consumer)
本文代码使用的是Spring Boot 2.1.8.RELEASE 版本 <parent> <groupId>org.springframework.boot</grou ...
随机推荐
- ListView实现分页加载(二)实现底布局
上一篇中,我们搭建好了一个Demo.没有阅读的可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4866929.html 在这一篇中,我们将实现Lis ...
- Powershell split file
#网上所得非原创 function split($inFile, $outPrefix, [Int32] $bufSize){ $stream = [System.IO.File]::OpenRead ...
- 查找连接过的USB存储设备
gp "HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*"|select friendlyname,CompatibleIDs,mfg ...
- 解决IntelliJ IDEA控制台输出中文乱码问题
一.原因: windows下的本地编码(GBK) ,在idea 整合的 maven中使得默认vm 的编码是utf-8.所以出现控制台乱码.tomcat设置的utf-8也会与window设置的gbk冲突 ...
- $.ajax方法success方法窗口弹不出
- Poj2010 Moo University - Financial Aid
题意的话,就看其他人的吧 概括:二分中位数 大体上便是二分一个中位数,带入检验,若分数比他小的有\(\lfloor n/2 \rfloor\)个,分数比他的大的也有这么多,而且贪心的买,花费小于预算. ...
- 用js写水仙花数
...js //输入一个三位数,水仙花数就是个位的三次方+十为的三次方+百位的三次方之和等于本身 console.log('请输入一个三位数:'); let a = readline.questi ...
- 使用OpenVPN连通管理多个阿里云VPC网络
这篇文章比较长,将从需求.思路.原理.架构.实施步骤.细节分析.高可用等几个方面来讲述OpenVPN的使用,如果看到很熟悉的内容或者不感兴趣的部分,请您跳过. 需求 公司网络环境更换,导致原来连接阿里 ...
- php auto_prepend_file和auto_append_file的妙用
这是一个鲜为人知的设置! auto_prepend_file 和 auto_append_file 是在php.ini中进行配置的2个参数,auto_prepend_file 表示在php程序加载第一 ...
- Knowledge Point 20180305 详解精度问题
1.1 精度与基本数据类型运算的深度解析 我们在探讨Java基本数据类型时多次提到过精度的问题,那么计算机中的精度究竟是什么样的,为什么我们有时候的计算和我们预期的不同呢?下面我们通过精度来了解: 1 ...