kafka官网: Apache Kafka

公司使用阿里云提供的kafka消息队列服务,分别为测试环境与生产环境,部署了多个集群。

使用场景:应用对外提供API接口调用,同时支持kafka增量消息推送,其他应用使用方可监听消费消息,相当于是多个consumer共同消费topic中的数据。

应用项目引入KafKa方式,现在项目脚手架基本都是SpringBoot,可以引入依赖

<dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>2.5.0.RELEASE</version>
        </dependency>

也可以通过引入依赖

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.4.1</version>
</dependency>

发消息工具:

import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
 
@Component
public class KafkaSender {
 
    @Resource
    private KafkaTemplate<String,String> kafkaTemplate;
 
    /**
     * 发送消息到kafka
     *@param topic 主题
     *@param message 内容体
     */
    public void sendMsg(String topic , String message){
        kafkaTemplate.send(topic ,message);
    }
}

定时开启和关闭消费:

import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
 
/**
 * 定时消费kafka浏览记录
 **/
@Component
@Slf4j
public class KafkaConfigurationTask {
    @Resource
    private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
 
    /**
     * 每天凌晨1点开启消费
     */
    @Scheduled(cron = "0 0 1 * * ?")
    public void startListener() {
        log.info("开启消费消息-定时任务开启");
        MessageListenerContainer container = kafkaListenerEndpointRegistry.getListenerContainer("act-task");
        if (!container.isRunning()) {
            container.start();
        }
        container.resume();
    }
 
    /**
     * 每天早上6点关闭消费
     */
    @Scheduled(cron = "0 0 6 * * ?")
    public void shutdownListener() {
        log.info("关闭消费消息-定时任务关闭");
        MessageListenerContainer container = kafkaListenerEndpointRegistry.getListenerContainer("act-task");
        container.pause();
    }
}

消费者

通过注解@KafkaListener方式或定时轮询方式

kafka消息队列应用总结相关推荐

  1. kafka消息队列的概念理解

    kafka在大数据.分布式架构中都很流行.kafka可以进行流式计算,也可以做为日志系统,还可以用于消息队列. kafka作为消息队列的优点: 分布式的系统 高吞吐量.即使存储了许多TB的消息,它也保 ...

  2. 使用kafka消息队列中间件实现跨进程,跨服务器的高并发消息通讯

    作者 | 陈屹       责编 | 欧阳姝黎 近来工作上接收到一项任务,实现c++后台服务器程序,要求它能承载千万级别的DAU读写请求.目前实现千万级高并发海量数据请求的服务器设计在"套路 ...

  3. 19 kafka消息队列

    文章目录 19 kafka消息队列 一.kafka介绍 1.消息队列基本介绍 2.常用的消息队列介绍 3.消息队列的应用场景 4.消息队列的两种模式 5.kafka的基本介绍 6.kafka的架构介绍 ...

  4. kafka 消息队列

    kafka 消息队列 kafka 架构原理 大数据时代来临,如果你还不知道Kafka那就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有TOP10旅游公司,7家TOP ...

  5. Java+Kafka消息队列

    本文主要针对,Java端对Kafka消息队列的生产和消费.Kafka的安装部署,请看查看相关文章. 笔者最近所用的是Spring mvc,监听文件路径,然后将读取到的文件内容发送到消息队列中.由另外系 ...

  6. SpringBoot集成Kafka消息队列

    1.说明 Spring可以方便的集成使用 Kafka消息队列 , 只需要引入依赖包spring-kafka, 注意版本兼容问题, 本文详细介绍SpringBoot集成Kafka的方法, 以及生产者和消 ...

  7. Flink使用KafkaSource从Kafka消息队列中读取数据

    Flink使用KafkaSource从Kafka消息队列中读取数据 使用KafkaSource从Kafka消息队列中读取数据 1.KafkaSource创建的DataStream是一个并行的DataS ...

  8. Kafka—消息队列

    Kafka-消息队列(理论部分) 一.Kafka概述 1.1.简介 kafka是一个分布式的基于发布/订阅模式的消息队列 主要应用场景:大数据实时处理领域 1.2.什么是消息队列? 消息队列 = 消息 ...

  9. kafka消息队列使用场景

    一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息队列有ActiveMQ,Rabbit ...

最新文章

  1. Redis环境配置(核心配置选项)
  2. linux c rename 重命名文件和文件夹
  3. 微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量
  4. 为啥channel能做到线程安全
  5. NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置
  6. POJ - 1321 棋盘问题
  7. 一文理解设计模式--命令模式(Command)
  8. PDF背景怎么添加,如何修改PDF背景
  9. vue分页组件重置到首页问题
  10. cad隐藏图层命令快捷键_cad与天正局部隐藏对象大法
  11. GB28181 PTZCmd控制指令笔记
  12. 五个手指含义(必会)
  13. Visual Studio 2008下载地址汇总及相关注册破解方法.
  14. java中级程序员_java中级程序员路线图(黑马)
  15. 练习:Python 的字符串处理, 一个朴实无华的四则运算计算器,批量计算小学生四则运算表达式
  16. Ant组件——DatePicker 日期选择框
  17. 3D图形学(5):BRDF经验模型和基于物理的BRDF模型
  18. 微型计算机技术单片机,微型计算机技术讲义01-C51基础
  19. python小说爬虫实训报告_python之新手一看就懂的小说爬虫
  20. linux服务器安全-软件包安装

热门文章

  1. 一刀工具箱 - 图片尺寸批量修改工具
  2. Scrapy 框架获取豆瓣电影的信息(包括图片)和电影评论-1
  3. 2021.2.28blog补录
  4. 计算机从业人员如何从不确定性的大环境中受益?
  5. 记录2019届秋季校园招聘:海康威视(2018.8.9)
  6. 我们用计算机玩反恐精英,电脑是联想B320昨天玩游戏反恐精英Online突然打不开了,双击以后显示游戏已停止工作,电脑不懂...
  7. 谈编码与Unicode标准
  8. ST一01台式计算机,老板电器2019蒸箱新品抢鲜,4款新品亮相郑州发布会
  9. 携手四川受灾家人共渡难关--慰问与赈灾
  10. python将文本分每两行一组