带你涨姿势的认识一下kafka(一)

简介: kafka 现在在企业应用和互联网项目中的应用越来越多了,本篇文章就从 kafka 的基础开始带你一展 kafka 的宏图

1. 什么是 Kafka

Kafka 是一个分布式流式平台,它有三个关键能力

  1. 订阅发布记录流,它类似于企业中的消息队列企业消息传递系统
  2. 以容错的方式存储记录流
  3. 实时记录流

Kafka 的应用

  1. 作为消息系统
  2. 作为存储系统
  3. 作为流处理器

Kafka 可以建立流数据管道,可靠性的在系统或应用之间获取数据。

建立流式应用传输和响应数据。

Kafka 作为消息系统

Kafka 作为消息系统,它有三个基本组件

43.jpg

Producer : 发布消息的客户端

  • Broker:一个从生产者接受并存储消息的客户端
  • Consumer : 消费者从 Broker 中读取消息

在大型系统中,会需要和很多子系统做交互,也需要消息传递,在诸如此类系统中,你会找到源系统(消息发送方)和 目的系统(消息接收方)。为了在这样的消息系统中传输数据,你需要有合适的数据管道

44.jpg

这种数据的交互看起来就很混乱,如果我们使用消息传递系统,那么系统就会变得更加简单和整洁

45.jpg

Kafka 运行在一个或多个数据中心的服务器上作为集群运行

  • Kafka 集群存储消息记录的目录被称为 topics
  • 每一条消息记录包含三个要素:键(key)、值(value)、时间戳(Timestamp)

核心 API

Kafka 有四个核心API,它们分别是

  • Producer API,它允许应用程序向一个或多个 topics 上发送消息记录
  • Consumer API,允许应用程序订阅一个或多个 topics 并处理为其生成的记录流
  • Streams API,它允许应用程序作为流处理器,从一个或多个主题中消费输入流并为其生成输出流,有效的将输入流转换为输出流。
  • Connector API,它允许构建和运行将 Kafka 主题连接到现有应用程序或数据系统的可用生产者和消费者。例如,关系数据库的连接器可能会捕获对表的所有更改

46.jpg

相关文章
|
3月前
|
消息中间件 存储 分布式计算
死磕-kafka(三)
死磕-kafka(三)
|
消息中间件 Kafka Scala
【Kafka从成神到升仙系列 一】Kafka源码环境搭建
【Kafka从成神到升仙系列 一】Kafka源码环境搭建
【Kafka从成神到升仙系列 一】Kafka源码环境搭建
|
3月前
|
消息中间件 存储 算法
死磕-kafka(二)
死磕-kafka(二)
|
3月前
|
消息中间件 Kafka 调度
死磕-kafka(一)
死磕-kafka(一)
|
7月前
|
消息中间件 Kafka API
这些年背过的面试题——Kafka篇
本文是技术人面试系列Kafka篇,面试中关于Kafka都需要了解哪些基础?一文带你详细了解,欢迎收藏!
|
消息中间件 存储 大数据
为啥非要用Kafka?其他MQ不行么? by 彭文华
为啥非要用Kafka?其他MQ不行么? by 彭文华
|
消息中间件 存储 JSON
慕了,我要是早点看到这篇写 Kafka 的分区管理的文章就好了
Kafka可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡和水平扩展。另外,多个订阅者可以从一个或者多个分区中同时消费数据,以支撑海量数据处理能力。
|
消息中间件 缓存 Java
【Kafka从成神到升仙系列 五】面试官问我 Kafka 生产者的网络架构,我直接开始从源码背起.......
【Kafka从成神到升仙系列 五】面试官问我 Kafka 生产者的网络架构,我直接开始从源码背起.......
【Kafka从成神到升仙系列 五】面试官问我 Kafka 生产者的网络架构,我直接开始从源码背起.......
|
消息中间件 缓存 算法
腾讯三面:说说Kafka的分区状态机的实现原理?
1 我为何读这源码? PartitionStateMachine,分区状态机负责管理Kafka分区状态的转换,类似ReplicaStateMachine。
115 0
|
消息中间件 Java Kafka
滴滴二面:Kafka是如何读写副本消息的?
无论是读取副本还是写入副本,都是通过底层的Partition对象完成的,而这些分区对象全部保存在上节课所学的allPartitions字段中。可以说,理解这些字段的用途,是后续我们探索副本管理器类功能的重要前提。
139 0