• Java Spring Cloud XVIII 之 Kafka I


    Java Spring Cloud XVIII 之 Kafka I

    Kafka

    1.Kafka简介

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

    kafka软件结构
    请添加图片描述
    Kafka Cluster(Kafka集群)

    Partition(分片)

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

    ​ order就是消息的发送方

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

    ​ stock就是消息的接收方法

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

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

    2. Kafka的特征与优势

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

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

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

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

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

    • Kafka队列信息能够一直向硬盘中保存(理论上没有大小限制)

    • Kafka默认队列中的信息保存7天,可以配置这个时间,缩短这个时间可以减少Kafka的磁盘消耗

    3. Kafka的安装和配置

    最好将我们kafka软件的解压位置设置在一个根目录

    然后路径不要有空格和中文
    请添加图片描述
    我们要创建一个空目录用于保存Kafka运行过程中产生的数据

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

    下面开始配置启动信息

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

    找到dataDir属性修改如下

    dataDir=G:/data
    
    • 1

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

    还要修改server.properties配置文件

    log.dirs=G:/data
    
    • 1

    修改注意事项和上面相同

    4. Zookeeper简介

    我们在启动kafka前必须先启动Zookeeper

    zoo:动物园

    keeper:园长

    可以引申为管理动物的人

    早期,每个服务器系统中的软件在安装后运行都需要一些配置

    那么软件多了,配置会比较复杂

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

    在Zookeeper中,可以修改服务器系统中的所有软件配置

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

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

    5. Kafka的启动

    启动Zookeeper

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

    输入cmd进入dos命令行

    G:\kafka\bin\windows>zookeeper-server-start.bat ..\..\config\zookeeper.properties
    
    • 1

    启动kafka

    总体方式一样,输入不同指令

    G:\kafka\bin\windows>kafka-server-start.bat ..\..\config\server.properties
    
    • 1

    附录

    Mac系统启动Kafka服务命令(参考):

    # 进入Kafka文件夹
    cd Documents/kafka_2.13-2.4.1/bin/
    # 动Zookeeper服务
    ./zookeeper-server-start.sh -daemon ../config/zookeeper.properties 
    # 启动Kafka服务
    ./kafka-server-start.sh -daemon ../config/server.properties 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Mac系统关闭Kafka服务命令(参考):

    # 关闭Kafka服务
    ./kafka-server-stop.sh 
    # 启动Zookeeper服务
    ./zookeeper-server-stop.sh
    
    • 1
    • 2
    • 3
    • 4

    在启动kafka时有一个常见错误

    wmic不是内部或外部命令
    
    • 1

    这样的提示,需要安装wmic命令,安装方式参考

    https://zhidao.baidu.com/question/295061710.html

    我是将军;我一直都在,。!

  • 相关阅读:
    spring @value @configurationProperties比较
    网络安全法学习
    C语言static关键字实现执行进度显示demo
    相关性分析热力图(Python&Matlab代码实现)
    流程图规范
    安装 ELEMENTOR PRO
    java毕业设计宠物找家系统mybatis+源码+调试部署+系统+数据库+lw
    计算机毕业设计springboot教学物资管理系统f1v89源码+系统+程序+lw文档+部署
    java集成minio文件系统
    从AI到BI:隐语SCQL深度解读(附视频)
  • 原文地址:https://blog.csdn.net/letterljhx/article/details/126985332