spring cloud 搭建(kafka 入门(二))

标签: spring cloud  spring

前面一篇,将了如何配置kafak:https://blog.csdn.net/hanjun0612/article/details/107667389

这一篇在上面的基础,扩展成2个微服务。

 

其实很简单。

就是在原来的基础上,把StreamReceiver 和 TestStream 拷贝到Service1服务中。

 

 代码如下:

StreamReceiver

package com.test.service1.controller.kafka;

import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.stereotype.Component;

/**
 * @author Tyler
 * @date 2020/7/28
 */

@Component
@EnableBinding(value = {TestStream.class})
public class StreamReceiver {

    @StreamListener(TestStream.INPUT)
    public void receive(String message) {
        System.out.println("StreamReceiver: "+message);
    }
}

 

TestStream

package com.test.service1.controller.kafka;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;

/**
 * @author Tyler
 * @date 2020/7/28
 */

public interface TestStream {
    String INPUT = "test-in";
    String OUTPUT = "test-out";
    @Input(INPUT)
    SubscribableChannel testIn();
    @Output(OUTPUT)
    MessageChannel testOut();

}

 

POM文件:

PS:这里spring版本是2.3.2,用的是Hoxton.SR6

之前用的1.5.4,会报错:kafka Could not convert message

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
    </properties>


<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-kafka</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>
</dependencies>

 

application.yml

spring:
  application:
    name: service1
  cloud:
    stream:
      kafka:
        binder:
          brokers: localhost:9092
      bindings:
        test-in: #TestStream 中 INPUT
          destination: testkafka

效果:

Service1:

Kafka:

 

版权声明:本文为hanjun0612原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hanjun0612/article/details/107792078

智能推荐

Spring Cloud ELK+kafka日志分析平台(一) 搭建

一、简介   ELK是三个开源软件的缩写,分别为elasticsearch、logstash、kibana,elasticsearch是一个基于Lucene和Restful接口的分布式搜索引擎,logstash主要是用来日志的搜集、过滤和分析的工具,kibana是一个为elasticsearch和logstash提供良好的数据分析、检索、汇总可视化Web界面的工具,现在ELK已经被广泛应用到日志分...

Spring Cloud 入门 之 Ribbon 篇(二)

原文地址:SpringCloud 入门 之 Ribbon 篇(二) 博客地址:http://www.extlight.com 一、前言 上一篇《Spring Cloud 入门 之 Eureka 篇(一)》 介绍了微服务的搭建,服务注册与发现。但在文章中留了一个小尾巴–如何正确使用 Eureka 进行服务发现并调用服务。 本篇文章将介绍如何使用 Ribbon 完成发现服务的调用以及其负载...

Spring Cloud入门实战(二)--集成Eureka

前言 我自己建了个博客网站,欢迎大家来访问,阅读体验更佳点击进入 正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节将项目改装成Spring Cloud并集成Eureka。 版本 Sp...

Spring Cloud入门二:eureka集群

Spring cloud eureka集群 Eureka帮助我们在spring cloud上进行服务注册和服务发现。但是,对于很多项目来说,只对服务在一个Spring Cloud Server注册是不合理的。当Server当掉时,服务将全部不能被发现。因此,我们在这里介绍对eureka进行集群,服务进行多注册。 多服务Server 新建两个Spring cloud Server项目,pom中添加依...

Spring Boot(二)之搭建spring cloud config配置中心

Spring Boot官网:点击打开链接 Spring Cloud官网:点击打开链接 Spring Cloud Config官网 : 点击打开链接 上一篇是SpringBoot入门,这篇就是干货结合springcloud的介绍了,在学习搭建之前我觉着有必要先看看这三个网址,相信我,这对你接下来的学习会很有帮助。 (一)背景知识 (1)Spring Cloud Config简介 这个是Sp...

猜你喜欢

Spring Cloud 2.1 搭建Spring Cloud

1.开发环境: 1. JDK 1.8 2. IntelliJ IDEA  2.开发步骤: 1. IDEA 中 新建Maven项目 2. pom.xml 添加依赖 spring-boot-starter-web 3.更新依赖包 项目 -- 右键 -- Maven -- Reimport 4. 编写启动类 5. 启动 MyApplication.java 即启动了Spring Cl...

Spring Cloud 网关 Spring Cloud Gateway 入门

1. 概述 Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的响应式的 API 网关。 Spring Cloud Gateway 旨在为微服务架构提供一种简单且有效的 API 路由的管理方式,并基于 Filter 的方式提供网关的基本功能,例如说安全认证、监控、限流等等。 ...

Spring Cloud入门之Spring Cloud Config

原文链接:http://www.dubby.cn/detail.html?id=9020 Config Server 创建配置中心: 编辑demo.properties: 编辑demo-dev.properties: 上传到远程仓库(https://gitee.com/yangzheng1994/config): 添加依赖: 编辑application.properties: 本来想用GitHub...

【JUC】004-ReadWriteLock读写锁

目录 一、ReadWriteLock读写锁 1、概述 官方文档介绍: 2、问题引出 代码实现: 运行结果: 问题: 3、使用读写锁 代码实现: 运行结果: 4、分析 一、ReadWriteLock读写锁 1、概述 官方文档介绍: 读可以多个线程读,写只能一个线程写;   2、问题引出 代码实现: 运行结果: 问题: 出现了多线程不安全的问题,我们要实现的是“读可以多个线程读,...

Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表

个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈  通常,这类需求在客户端应用中不太会用到,但是在后端的各种统计分析模块会经常碰到。比如:通过折线图、柱状图、雷达图等可视化形式,更直观的展现和分析经营状况或系统运行情况。这里我们将引入的数据可视化组件库 ECharts来帮助我们完成这样的任务。 ECharts简介 ECharts是百度开源的一个前端组件。它是一个使用 J...