• JSD-2204-(业务逻辑开发)-续消息队列-Kafka-RabbitMQ-Day15


    虚拟机镜像网盘路径

    链接:百度网盘 请输入提取码 提取码:egno

    618M:Virtualbox用的,纯净的RockyLinux

    3.5G:VMware用的,安装好所有软件的RockyLinux

    4.1G:Virtualbox用的,安装好所有软件的RockyLinux

    1.续消息队列

    1.1消息队列的事务处理

     

    当接收消息队列中信息的模块运行发送异常时,怎么完成事务的回滚?

    当消息队列中(stock)发生异常时,在异常处理的代码中,我们可以向消息的发送者(order)发送消息,然后通知发送者(order)处理,消息的发送者(order)接收到消息后,一般要手写代码回滚,如果回滚代码过程中再发生异常,就又要思考回滚方式,如果一直用消息队列传递消息的话,可能发生异常的情况是无止境的

    所以我们在处理消息队列异常时,经常会设置一个"死信队列"

    死信队列没有任何处理者,通常情况下会有专人周期性的处理死信队列的消息

    2.Kafka

    2.1什么是Kafka

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。Kafka最初是由LinkedIn开发,并随后于2011年初开源。

    2.2kafka软件结构

    Kafka是一个结构相对简单的消息队列(MQ)软件

    kafka软件结构图

     

    Kafka Cluster(Kafka集群)

    Partition(分片)

    Producer:消息的发送方,也就是消息的来源,Kafka中的生产者

    order就是消息的发送方,在Dubbo中order是消费者,这个身份变化了

    Consumer:消息的接收方,也是消息的目标,Kafka中的消费者

    stock就是消息的接收方,在Dubbo中stock是生产者,这个身份变化了

    Topic:话题或主题的意思,消息的收发双方要依据同一个话题名称,才不会将信息错发给别人

    Record:消息记录,就是生产者和消费者传递的信息内容,保存在指定的Topic中

    2.3Kafka的特征与优势

    Kafka作为消息队列,它和其他同类产品相比,突出的特点就是性能强大

    Kafka将消息队列中的信息保存在硬盘中

    Kafka对硬盘的读取规则进行优化后,效率能够接近内存

    硬盘的优化规则主要依靠"顺序读写,零拷贝,日志压缩等技术"

    Kafka处理队列中数据的默认设置:

    • Kafka队列信息能够一直向硬盘中保存(理论上没有大小限制)
    • Kafka默认队列中的信息保存7天,可以配置这个时间,缩短这个时间可以减少Kafka的磁盘消耗

    2.4Kafka的安装和配置

    必须将我们kafka软件的解压位置设置在一个根目录,文件夹名称尽量短(例如:kafka)

    然后路径不要有空格和中文

    我们要创建一个空目录用于保存Kafka运行过程中产生的数据

    本次创建名称为data的空目录

    下面进行Kafka启动前的配置

    先到D:\kafka\config下配置有文件zookeeper.properties

    找到dataDir属性修改如下

    dataDir=D:/data
    

    修改完毕之后要Ctrl+S进行保存,否则修改无效!!!!

    注意D盘和data文件夹名称,匹配自己电脑的真实路径和文件夹名称

    还要修改server.properties配置文件

    log.dirs=D:/data
    

    修改注意事项和上面相同

    2.5启动kafka

    要想启动Kafka必须先启动Zookeeper

    2.5.1Zookeeper介绍

    zoo:动物园

    keeper:园长

    可以引申为管理动物的人

    Linux服务器中安装的各种软件,很多都是有动物形象的

    如果这些软件在Linux中需要修改配置信息的话,就需要进入这个软件,去修改配置,每个软件都需要单独修改配置的话,工作量很大

    我们使用Zookeeper之后,可以创建一个新的管理各种软件配置的文件管理系统

    Linux系统中各个软件的配置文件集中到Zookeeper中

    实现在Zookeeper中,可以修改服务器系统中的各个软件配置信息

    长此以往,很多软件就删除了自己写配置文件的功能,而直接从Zookeeper中获取

    Kafka就是需要将配置编写在Zookeeper中的软件之一

    所以要先启动zookeeper才能启动kafka

    2.5.2Zookeeper启动

    进入路径D:\kafka\bin\windows

    输入cmd进入dos命令行

    D:\kafka\bin\windows>zookeeper-server-start.bat ..\..\config\zookeeper.proper
  • 相关阅读:
    8-高精度计算(加法)
    【2022蓝帽杯】file_session && 浅入opcode
    2022春季《人工智能》EOJ代码个人汇总(A.八数码问题 到 J.迷宫寻找)
    Zookeeper特性与节点数据类型详解
    【数据库】你听说过矢量数据库吗?
    面试算法30:插入、删除和随机访问都是O(1)的容器
    低照度图像数据集
    Redis集群方案备忘录
    数值分析复习:Richardson外推和Romberg算法
    QT的按钮按钮控件
  • 原文地址:https://blog.csdn.net/TheNewSystrm/article/details/126751960