美文网首页
kafka之关联应用系统的系统架构

kafka之关联应用系统的系统架构

作者: 每天进步一点点变成更好的自己 | 来源:发表于2022-10-05 16:53 被阅读0次

数据从哪里来,大数据系统的框架,kafka如何连接我们的应用系统、大数据批处理系统、大数据流式处理系统,kakfa系统的设计,和传统的消息队列系统区别,以及为什么kafka要这样设计。

kafka的假设:我们处理的互联网领域的海量日志,对于丢失一部分日志是可以容忍的,但是整体关注的是系统整体的吞吐量、可扩展性、以及错误恢复能力。

1.大数据系统框架

日志系统

2.kafka的系统架构

kafka可以看成一个日志收集器,上游的应用服务器把日志发送到kafka集群,kafka的下游,不仅能能把对应的数据存到HDFS上,还可以直接从kafka里获得数据。kafka的模型:生产者-消费者。

  • 生产者
    首先是producer,日志的生产者,即应用服务器。应用服务器生成日志,作为生产者,把日志发送到kafka系统中去。
  • Broker
    kafka的服务进程,为了容错和高可用,kafka是一个分布式的集群,每台服务器都有对应的broker的进程。kafka对所有的消息,进行两者类型的分组:业务分组和数据分区。
    业务分组:对应TOPIC,比如有广告日志、搜索日志。
    数据分区:分区可以帮助我们水平扩展系统的处理能力。同一个TOPIC的日志,平均分配到多台服务器上。
    Broker会在内存里维护一个简单的索引,即通过虚拟的偏移量,执行一个具体的segment文件。通过找到segment文件,然后去读取数据就好了。
  • 消费者
    实际去处理日志的消费者。我们去读取kafka数据,把它放到HDFS上的程序,就是一个消费者。
image.png

3.kakfa的单个partition的读写实现

在实际的实现上,每一个TOPIC都会有很多个分区,分区到不同的服务器上。一个物理机,会存在很多分区。实际存储的时候,一个分区存储的是一个逻辑上的日志系统,在物理上,这些日志未见会分成大小相同的segment文件(比如1GB大小),每当有新消息从producer发过来的时候,broker就会把消息追加写入到最后那个segment文件里。

partition是一个逻辑上的日志文件,在物理上会拆分成多个同样大小的segment文件,顺序存储日志

4.kafka文件系统

kafka是直接使用本地的文件系统承担了消息队列持久化的功能,即直接依赖了linux文件系统的页缓存(page cache)。


kakfa直接通过mmap来写入数据,使得数据读写的性能很好

相关文章

  • kafka之关联应用系统的系统架构

    数据从哪里来,大数据系统的框架,kafka如何连接我们的应用系统、大数据批处理系统、大数据流式处理系统,kakfa...

  • Kafka总结

    Kafka 体系架构 1. Kafka的用途有哪些?使用场景如何? 消息系统: Kafka 和传统的消息系统(也称...

  • 2022 Android 系统架构面试题汇总,看完之后让你秒变

    Android面试题 1、Android系统的架构 Android系统架构之应用程序 Android会同一系列核心...

  • Android 系统架构

    Android 系统架构 应用层 应用框架层 系统运行层库 硬件抽象层 Linux 内核层Android 系统架构...

  • Android知识点总结

    1.Android系统的架构 1.Android系统架构之应用程序 Android会同一系列核心应用程序包一起发布...

  • 各架构分类

    系统架构师:负责整体系统的架构设计,主要是基础服务和各系统间协调上,着眼全局不太注重某个应用本身架构 应用架构师:...

  • Kafka系列一- Kafka背景及架构介绍

    Kafka系列一- Kafka背景及架构介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。...

  • kafka专题

    kafka专题 Kafka简介 消息系统介绍 一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数...

  • Android系统五层架构

    1. Android系统架构 Android系统架构分为五层:从上到下依次是应用层、应用架构层、系统运行库层、硬件...

  • Kafka 如何保证消息的传递可靠性

    一、kafka 简介: kafka是一个分布式发布-订阅消息系统。其主要架构为: Kafka集群 (Broker)...

网友评论

      本文标题:kafka之关联应用系统的系统架构

      本文链接:https://www.haomeiwen.com/subject/kopgxrtx.html