当前位置:首页 >休闲 >Kafka:Kafka架构以及应用场景 Kafka就是一种发布-订阅模式

Kafka:Kafka架构以及应用场景 Kafka就是一种发布-订阅模式

2024-06-30 22:03:11 [百科] 来源:避面尹邢网

Kafka:Kafka架构以及应用场景

作者:日拱一卒程序猿 开发 架构 集群中一个分区属于一个broker,架构及应景该broker称为分区首领。用场 一个分区可以分配给多个broker,架构及应景此时会发生分区复制。用场 分区的架构及应景复制提供了消息冗余,高可用。用场副本分区不负责处理消息的架构及应景读写。

一、用场Kafka介绍

Kafka是架构及应景最初由Linkedin公司开发,是用场一个分布式、分区的架构及应景、多副本的用场、多生产者、架构及应景多订阅者,用场基于 zookeeper协调的架构及应景分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志, 消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。

Kafka:Kafka架构以及应用场景 Kafka就是一种发布-订阅模式

Kafka主要设计目标如下:

Kafka:Kafka架构以及应用场景 Kafka就是一种发布-订阅模式

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访 问性能。
  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。
  •  支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。
  • 同时支持离线数据处理和实时数据处理。
  • 支持在线水平扩展。

Kafka:Kafka架构以及应用场景 Kafka就是一种发布-订阅模式

有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅 模式。

Kafka就是一种发布-订阅模式。 对于消息中间件,消息分推拉两种模式。Kafka只有消息的拉取,没有推送,可以通过轮询实现消息的推送。

1. Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。

2. Kafka集群中按照主题分类管理,一个主题可以有多个分区,一个分区可以有多个副本分区。

3. 每个记录由一个键,一个值和一个时间戳组成。

Kafka具有四个核心API:

1. Producer API:允许应用程序将记录流发布到一个或多个Kafka主题。

2. Consumer API:允许应用程序订阅一个或多个主题并处理为其生成的记录流。

3. Streams API:允许应用程序充当流处理器,使用一个或多个主题的输入流,并生成一个或多个输出主题的输出流,从而有效地将输入流转换为输出流。

4. Connector API:允许构建和运行将Kafka主题连接到现有应用程序或数据系统的可重用生产者 或使用者。例如,关系数据库的连接器可能会捕获对表的所有更改。

二、Kafka优势

1. 高吞吐量:单机每秒处理几十上百万的消息量。即使存储了许多TB的消息,它也保持稳定的性 能。

2. 高性能:单节点支持上千个客户端,并保证零停机和零数据丢失。

3. 持久化数据存储:将消息持久化到磁盘。通过将数据持久化到硬盘以及replication防止数据丢 失。 1. 零拷贝 2. 顺序读,顺序写 3. 利用Linux的页缓存

4. 分布式系统,易于向外扩展。所有的Producer、Broker和Consumer都会有多个,均为分布式 的。无需停机即可扩展机器。多个Producer、Consumer可能是不同的应用。

5. 可靠性 - Kafka是分布式,分区,复制和容错的。

6. 客户端状态维护:消息被处理的状态是在Consumer端维护,而不是由server端维护。当失败 时能自动平衡。

7. 支持online和offline的场景。

8. 支持多种客户端语言。Kafka支持Java、.NET、PHP、Python等多种语言。

三、Kafka应用场景

  • 日志收集:一个公司可以用Kafka可以收集各种服务的Log,通过Kafka以统一接口服务的方式开放 给各种Consumer;
  • 消息系统:解耦生产者和消费者、缓存消息等;
  • 用户活动跟踪:Kafka经常被用来记录Web用户或者App用户的各种活动,如浏览网页、搜索、点击 等活动,这些活动信息被各个服务器发布到Kafka的Topic中,然后消费者通过订阅这些Topic来做实时的 监控分析,亦可保存到数据库;
  • 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的 集中反馈,比如报警和报告;
  •  流式处理:比如Spark Streaming和Storm。

四、Kafka基础架构

消息和批次

Kafka的数据单元称为消息。可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息由字节 数组组成。 消息有键,键也是一个字节数组。当消息以一种可控的方式写入不同的分区时,会用到键。 为了提高效率,消息被分批写入Kafka。批次就是一组消息,这些消息属于同一个主题和分区。 把消息分成批次可以减少网络开销。批次越大,单位时间内处理的消息就越多,单个消息的传输时 间就越长。批次数据会被压缩,这样可以提升数据的传输和存储能力,但是需要更多的计算处理。

模式

消息模式(schema)有许多可用的选项,以便于理解。如JSON和XML,但是它们缺乏强类型处理 能力。Kafka的许多开发者喜欢使用Apache Avro。Avro提供了一种紧凑的序列化格式,模式和消息体分 开。当模式发生变化时,不需要重新生成代码,它还支持强类型和模式进化,其版本既向前兼容,也向 后兼容。 数据格式的一致性对Kafka很重要,因为它消除了消息读写操作之间的耦合性。

主题和分区

Kafka的消息通过主题进行分类。主题可比是数据库的表或者文件系统里的文件夹。主题可以被分为 若干分区,一个主题通过分区分布于Kafka集群中,提供了横向扩展的能力。

生产者和消费者

生产者创建消息。消费者消费消息。 一个消息被发布到一个特定的主题上。 生产者在默认情况下把消息均衡地分布到主题的所有分区上:

1. 直接指定消息的分区

2. 根据消息的key散列取模得出分区

3. 轮询指定分区。

消费者通过偏移量来区分已经读过的消息,从而消费消息。 消费者是消费组的一部分。消费组保证每个分区只能被一个消费者使用,避免重复消费。

broker和集群

一个独立的Kafka服务器称为broker。broker接收来自生产者的消息,为消息设置偏移量,并提交 消息到磁盘保存。broker为消费者提供服务,对读取分区的请求做出响应,返回已经提交到磁盘上的消 息。单个broker可以轻松处理数千个分区以及每秒百万级的消息量。

每个集群都有一个broker是集群控制器(自动从集群的活跃成员中选举出来)。 控制器负责管理工作:

  • 将分区分配给broker
  •  监控broker

集群中一个分区属于一个broker,该broker称为分区首领。 一个分区可以分配给多个broker,此时会发生分区复制。 分区的复制提供了消息冗余,高可用。副本分区不负责处理消息的读写。

责任编辑:武晓燕 来源: 今日头条 Kafka架构应用场景

(责任编辑:百科)

    推荐文章
    • 农行网捷贷利息一般是多少 农行网捷贷是不是随借随还?

      农行网捷贷利息一般是多少 农行网捷贷是不是随借随还?作为四大银行之一,农业银行旗下的贷款产品是非常多的。为了满足更多客户的贷款需求,农业银行也推出了一些线上可以申请的个人小额贷款产品,网捷贷。农行网捷贷利息高吗?农行网捷贷是不是随借随还?一起来跟希财君 ...[详细]
    • 希捷:2020年前实现20TB硬盘

      希捷:2020年前实现20TB硬盘希捷:2020年前实现20TB硬盘作者:佚名 2013-10-09 09:48:05存储 存储软件 在近日东京举行的2013日本高新技术博览会上,希捷又展示了新一代的热辅助磁记录(HAMR),宣称可籍 ...[详细]
    • 「P&I2018」数码配胶片 富士展台导览

      「P&I2018」数码配胶片 富士展台导览连接数码与胶片、输入与输出的就是富士Gallery区域,也就是富士画廊,其中包含了由富士数码相机拍摄、富士专业输出的影像作品的展示。【PChome影像行摄频道#P&I2018#】富士展台与索尼 ...[详细]
    • 如何优雅的关闭JVM?

      如何优雅的关闭JVM?如何优雅的关闭JVM?作者:冯冬冬 2021-01-19 10:35:49云计算 虚拟化 程序的启动很简单,启动的时候通常会做一些预加载资源的操作。但是有时候关闭的时候,启动的时候预加载的资源并没 ...[详细]
    • 康健国际医疗(03886.HK)公布消息:预计年度综合亏损约2.55亿港元

      康健国际医疗(03886.HK)公布消息:预计年度综合亏损约2.55亿港元康健国际医疗(03886.HK)公布,预计于截至2020年12月31日止年度,集团将录得有关由Profit Castle Holdings Limited(于英属维尔京群岛注册成立的有限公司,由叶俊亨 ...[详细]
    • 极限自然色彩 创维50Q7智能电视售价5999

      极限自然色彩 创维50Q7智能电视售价5999已经基本占据了高端电视市场;而在液晶为主流的中高端市场,创维也推出与量子点技术相抗衡的纯色技术,打造了应用该技术的全新的AIR系列电视Q7,据说是至今为止“最接近OLED的液晶电视”——Q7已经基本占 ...[详细]
    • 预防PC故障,备用引导方案大集结

      预防PC故障,备用引导方案大集结预防PC故障,备用引导方案大集结译文 作者:核子可乐译 2013-10-28 14:17:00运维 系统运维 当大家的PC设备无法正常启动,引导驱动器永远是最好的解决方案--将其称为电子领域的心脏起 ...[详细]
    • 爽快清脆 狼蛛捍卫者机械键盘敲击感极佳

      爽快清脆 狼蛛捍卫者机械键盘敲击感极佳狼蛛捍卫者机械键盘采用经典键欧式键位,大回车的设计对于各种码字与游戏“狂人”来说有着不小的吸引力,还拥有如春天般舒畅的青轴键盘。狼蛛捍卫者机械键盘上盖为一体成型铝合金面板,经阳极氧化处理不会显得太过张 ...[详细]
    • 自己频繁查询征信有没有关系 查询记录要多久才会消除?

      自己频繁查询征信有没有关系 查询记录要多久才会消除?自己频繁查询征信不会有什么关系,不会影响以后的信贷活动,但是如果委托其他借贷机构查自己的征信,就会在信用报告上留下记录,不利于以后开展信贷活动。频繁的征信查询会给银行或贷款机构留下不好的印象,他们会认 ...[详细]
    • JBL UA Flex颈挂蓝牙耳机 夜跑呼吸灯

      JBL UA Flex颈挂蓝牙耳机 夜跑呼吸灯JBL UA Flex耳机颈环外侧为金属材质,立体式的设计使其外观看上去很有层次感。颈环内侧材质与类肤材质相比稍硬些,但触感更为清爽舒适,特殊的纳米涂层可以让使用者在运动久了大汗淋漓后也不会感到闷热黏 ...[详细]
    热点阅读