Spring Cloud Stream 和 Kafka实战教程

本文提供了一篇基于Spring Boot、Spring Cloud Stream和Apache Kafka的实时流处理应用实战教程。通过创建REST API获取消息,发送到Kafka主题,再从Kafka主题读取并输出到控制台,详细讲解了项目需求、环境搭建、配置以及监听过程。
摘要由CSDN通过智能技术生成

本文通过实战项目基于事件驱动架构实现实时流处理应用,使用到Spring Boot、Spring mvc、Spring Cloud Stream、Apache Kafka、Lombok。读完基本能够理解基于流的微服务应用。

项目需求

  1. 从Restful API获取消息
  2. 给kafka主题发送消息
  3. 从kafka主题读取消息
  4. 把消息输出到控制台

让我们开始吧。

搭建环境

Spring Cloud Stream是基于Spring Boot构建消息驱动微服务框架。Kafka是高性能的、可伸缩的分布式消息代理平台。Lombok让我们简化java Beandinginess。下面简单介绍下安装Kafka,并新建SpringBoot项目。

  1. 下载kafka

在 官网 下载kafka,注意和你本机的scala版本一致。解压后启动kafka服务。

  1. 启动kafka

启动zookeeper, 如果windows环境,bin/window/对应的.bat文件:

$ bin/zookeeper-server-start.sh config/zookeeper.properties

启动kafka, 如果windows环境,bin/window/对应的.bat文件:

$ bin/kafka-server-start.sh config/server.properties

Spring Boot项目

使用Idea新建Spring Boot项目,并增加下列依赖:

spring-cloud-stream、spring-kafka、spring-cloud-stream-binder-kafka、spring-boot-starter-web、spring-boot-starter-actuator、lombok、spring-boot-devtools。完整代码如下:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.dataz</groupId>
    <artifactId>streamkafka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>streamkafka</name>
    <description>streamkafka</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值