学习笔记Kafka—— Kafka简介

Posted 别呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Kafka—— Kafka简介相关的知识,希望对你有一定的参考价值。

一、什么是消息系统

消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它。 分布式消息传递基于可靠消息队列的概念。 消息在客户端应用程序和消息传递系统之间异步排队。 有两种类型的消息模式可用: 一种是点对点,另一种是发布 - 订阅(pub-sub)消息系统。


二、Kafka

2.1、Kafka简介

Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上。 它与Apache Storm和Spark可以非常好地集成,用于实时流式数据分析。


2.2、Kafka特性

  • 可靠性 - Kafka是分布式,分区,复制和容错的。
  • 可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
  • 分布式 - 日志的分区partition (分布)在Kafka集群的服务器上。
  • 耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
  • 性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。

2.3、Kafka架构

2.4、Kafka核心概念


2.5、Kafka数据流

对于每一个topic, Kafka集群都会维持一个分区日志。

每个分区都是有序且顺序不可变的记录集,并且不断地追加到结构化的commit log文件。

分区中的每一个记录都会分配一个id来表示顺序,也叫offset。offset用来唯一的标识分区中每一条记录。

Kafka 集群保留所有发布的记录—无论他们是否已被消费—并通过一个可配置的参数——保留期限来控制。

例如,如果保留策略设置为100天(当然不建议大家这样做),一条记录发布后100天内,可以随时被消费,100天后这条记录会被抛弃并释放磁盘空间。

以上是关于学习笔记Kafka—— Kafka简介的主要内容,如果未能解决你的问题,请参考以下文章

原创Kafka学习笔记,mysql简介ssm

Kafka学习笔记

kafka学习笔记

Kafka学习笔记 --- Kafka的TimingWheel时间轮/调度笔记

Kafka学习笔记 --- Kafka的TimingWheel时间轮/调度笔记

Kafka中文文档学习笔记