【Kafka】第一章

这篇具有很好参考价值的文章主要介绍了【Kafka】第一章。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Kafka】第一章,中间件,kafka

1. 课程内容

======>课程学习
【Kafka】第一章,中间件,kafka

【Kafka】第一章,中间件,kafka

2. 介绍Kafka

Kafka传 统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。

======>什么是分布式

简单来说,分布式就是将一个大问题拆分成多个小问题,逐一解决,最终协同合作,而将多个系统协同合作完成一个特定任务,支持分布式处理的软件系统,就是我们所说的分布式系统.

发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。


Kafka最新定义 : Kafka是 一个开源的分布式事件流平台(Event StreamingPlatform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。

2.1 常见的消息队列

目 前企 业中比 较常 见的 消息 队列产 品主 要有 Kafka、ActiveMQ 、RabbitMQ 、RocketMQ 等。
在大数据场景主要采用 Kafka 作为消息队列。在 JavaEE 开发中主要采用 ActiveMQ、RabbitMQ、RocketMQ

传统的消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信。

2.2 消息队列的应用场景

2.2.1 解耦

解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。
【Kafka】第一章,中间件,kafka

2.2.2 异步通信

【Kafka】第一章,中间件,kafka

补充:java 开启异步的方式

2.3 消息队列的两种模式

  • 点对点模式
  • 发布/订阅模式

2.3.1 点对点模式

【Kafka】第一章,中间件,kafka

2.3.2 发布/订阅模式

【Kafka】第一章,中间件,kafka

2.4 Kafka基础架构

【Kafka】第一章,中间件,kafka
(1) Producer:消息生产者,就是向Kafka broker发消息的客户端。
(2) Consumer:消息消费者,向Kafka broker取消息的客户端。
(3) Consumer Group(CG):消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
(4) Broker:一台 Kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个broker 可以容纳多个 topic。
(5 )Topic:可以理解为一个队列,生产者和消费者面向的都是一个 topic。
(6) Partition:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker(即服务器)上,一个 topic 可以分为多个partition,每个 partition 是一个有序的队列。
(7) Replica:副本。一个 topic 的每个分区都有若干个副本,一个 Leader 和若干个Follower。
(8) Leader:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数据的对象都是 Leader。
(9) Follower:每个分区多个副本中的“从”,实时从 Leader 中同步数据,保持和Leader 数据的同步。Leader 发生故障时,某个 Follower 会成为新的 Leader。

3.Kafka快速入门

======>Kafka下载

【Kafka】第一章,中间件,kafka

kafka tgz包爆解压到 /opt/module下
【Kafka】第一章,中间件,kafka
然后修改名称
【Kafka】第一章,中间件,kafka
从config目录下看server.properties【Kafka】第一章,中间件,kafka

【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
分发kafka
【Kafka】第一章,中间件,kafka
配置
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
分发
【Kafka】第一章,中间件,kafka

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送

    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

启动kafka(前提是已经启动了Zookeeper)
【Kafka】第一章,中间件,kafka

Kafka启动与停止脚本
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka

3.1 主题命令行操作

1.查看操作主题参数命令
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh
【Kafka】第一章,中间件,kafka
2. 查看当前服务器中的所有 topic
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
3.创建 first topic
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first
选项说明:
–partitions 定义分区数
–replication-factor 定义副本数
–topic 定义 topic 名
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka

3.2 创建生产者发送数据

topic发送数据
【Kafka】第一章,中间件,kafka
创建消费者
【Kafka】第一章,中间件,kafka
消费者接收到数据
【Kafka】第一章,中间件,kafka

消费者端开启历史数据
【Kafka】第一章,中间件,kafka

4. Kafka生产者

======>Kafka生产者
【Kafka】第一章,中间件,kafka

生产者重要参数列表

【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka
【Kafka】第一章,中间件,kafka

5. 异步发送

5.1 异步发送API

// TODO

附录

1.Kafka搭建
2.Kafka中文官方文档文章来源地址https://www.toymoban.com/news/detail-525955.html

到了这里,关于【Kafka】第一章的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生进阶之PaaS中间件】第一章Redis-2.4缓存更新机制

            无论先操作db还是cache,都会有各自的问题,根本原因是cache和db的更新不是一个原子操作,因此总会有不一致的问题。想要彻底解决这种问题必须将cache和db的更新操作归在一个事务之下(例如使用一些分布式事务,或者强一致性的分布式协议)。或者采用串行化,

    2024年02月10日
    浏览(64)
  • 【云原生进阶之PaaS中间件】第一章Redis-2.3.2哨兵模式

            由于无法进行主动恢复,因此主从模式衍生出了哨兵模式。哨兵模式基于主从复制模式,只是引入了哨兵来监控与自动处理故障。Redis Sentinel是社区版本推出的原生高可用解决方案,Redis Sentinel部署架构主要包括两部分:Redis Sentinel集群和Redis数据集群,其中Redis

    2024年02月06日
    浏览(46)
  • 中间件 kafka

    Kafka(Apache Kafka)是一个非常流行的开源分布式流数据平台。它最初由LinkedIn开发,后来捐赠给了Apache基金会,并成为顶级项目。Kafka被设计用于处理实时数据流,具有高吞吐量、可扩展性和持久性。 Kafka 的主要特点和用途包括: 发布-订阅模型: Kafka 提供了一种发布-订阅(

    2024年02月13日
    浏览(48)
  • Kafka消息中间件(Kafka与MQTT区别)

    Kafka是一个分布式流处理平台,它可以快速地处理大量的数据流。Kafka的核心原理是基于 发布/订阅 模式的消息队列。Kafka允许多个生产者将数据写入主题(topic)中,同时也允许多个消费者从主题中读取数据。 Kafka重要原理 Kafka的设计原则之一是高可用性和可扩展性,因此它

    2024年02月03日
    浏览(45)
  • 消息中间件 —— 初识Kafka

    1.1.1、为什么要有消息队列? 1.1.2、消息队列 消息 Message 网络中的两台计算机或者两个通讯设备之间传递的数据。例如说:文本、音乐、视频等内容。 队列 Queue 一种特殊的线性表(数据元素首尾相接),特殊之处在于只允许在首部删除元素和在尾部追加元素(FIFO)。 入队、出

    2024年02月13日
    浏览(51)
  • 中间件(三)- Kafka(二)

    6.1 Kafka的高效读写 顺序写磁盘 Kafka的producer生产数据,需要写入到log文件中,写的过程是追加到文件末端,顺序写的方式,官网有数据表明,同样的磁盘,顺序写能够到600M/s,而随机写只有200K/s,这与磁盘的机械结构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时

    2024年02月07日
    浏览(38)
  • 大数据中间件——Kafka

    Kafka安装配置 首先我们把kafka的安装包上传到虚拟机中: 解压到对应的目录并修改对应的文件名: 首先我们来到kafka的config目录,我们第一个要修改的文件就是server.properties文件,修改内容如下: 主要修改三个部分,一个是唯一标识id,kafka的文件存储路径,一个是zookeeper的节

    2024年02月07日
    浏览(43)
  • 中间件: Kafka安装部署

    下载二进制包 修改配置 启动 按照单机部署方式启动多个Zookeeper与broker节点。 修改config/server.properties配置: broker.id 每个节点唯一 zookeeper.connect: 改成zookeeper节点 查看集群状态:

    2024年02月12日
    浏览(42)
  • 消息中间件(二)——kafka

    在大数据中,会使用到大量的数据。面对这些海量的数据,我们一是需要做到能够 收集 这些数据,其次是要能够 分析和处理 这些海量数据。在此过程中,需要一套消息系统。 Kafka专门为分 布式高吞吐量 系统设计。作为一个消息代理的替代品,Kafka往往做的比其他消息中间

    2024年02月07日
    浏览(57)
  • 消息中间件之Kafka(一)

    高性能的消息中间件,在大数据的业务场景下性能比较好,kafka本身不维护消息位点,而是交由Consumer来维护,消息可以重复消费,并且内部使用了零拷贝技术,性能比较好 Broker持久化消息时采用了MMAP的技术,Consumer拉取消息时使用的sendfile技术 Kafka是最初由Linkedin公司开发,

    2024年01月20日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包