消息队列(kafka)

本文介绍了消息队列中间件的作用,如解耦、异步处理和削峰,并重点讲解了Kafka的特点和核心概念,包括broker、topic、partition和offset。还提供了Windows环境下Kafka的启动步骤,以及在Spring中使用Kafka的生产者和消费者配置方法。
摘要由CSDN通过智能技术生成

消息队列/消息中间件(Message Queue):

在消息的传输过程中保存消息的容器(本质是暂存数据的容器)。

主要用途:

  1. 解耦
    A系统发送数据到BCD三个系统,如果通过接口调用发送,那么他们之间的耦合度非常高,A会变得非常难以维护,如果BCD中的某个故障,A也会受影响。

可以引入MQ进行解耦------>A系统发送数据到MQ,DCD订阅MQ的数据进行处理,当B系统不需要再处理数据的时候只需要取消MQ的订阅即可,当新增的E系统需要处理数据的时候只需要订阅MQ即可,无论哪种方式都不需要再对A系统进行修改,如果BCD中的某个故障,A也不会受影响。

  1. 异步
    解耦前A系统消耗时间是A+B+C+D。
    解耦后 A 系统销毁时间是 A + 投放数据到消息队列的时间,BCD 再后台同时执行。
  2. 削峰
    高峰期的大量请求先放入 MQ 暂存,再由 A 系统慢慢读取处理。
    常见的消息队列:Kafka、RabbitMQ、RocketMQ
    kafka:发布式发布-订阅消息传递系统(消息队列/消息中间件)
    特点:
    1,高吞吐量,低延时:每秒可以处理几十万条数据,延迟在几毫秒内。
    2,可扩展(扩容),支持热扩展。
    3,可靠性高,有备份机制保证数据不丢失。
    4,高并发,支持数千个客户端同时读写操作。
    概念:
    broker:kafka集群中的每一个节点。
    topic:主题,区分不同来源的数据。
    partition:分区,topic中用于存储数据的地方。
    offset:偏移量,数据在partition中的索引。
    producer:生产者,向MQ中发布数据的程序。
    customer:消费者,从MQ中读取数据的程序。
    windows 版本的使用:
    1, 启动 zookeeper

1,以管理员身份打开命令行窗口
2,切换到 D 盘
3, 进入 kafka 安装目录
4, 启动 zookeeper

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

2,启动 kafka
1,以管理员身份打开命令行窗口
2, 切换到 D 盘
3,进入 kafka 安装目录
4,启动 kafka

bin\windows\kafka-server-start.bat config\server.properties

3, 创建 topic
1,以管理员身份打开命令行窗口
2, 切换到 D 盘
3,进入 kafka 安装目录
4,创建 test topic

bin\windows\kafka-topics.bat --create --bootstrap
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值