Kafka
介绍
- 事件流(
Event Streaming
):从技术上讲,事件流是以事件流的形式从数据库、传感器、移动设备、云服务和软件应用程序等事件源实时捕获数据的做法;持久地存储这些事件流以供以后检索;实时地以及回顾性地操纵、处理和响应事件流;以及根据需要将事件流路由到不同的目的地技术。因此,事件流确保了数据的连续流动和解释,从而使正确的信息在正确的时间、正确的地点出现。
Kafka
是一个事件流平台,是分布式、高伸缩性、可容错与安全的,可以在裸平台
、虚拟机
、容器
上运行,可以实现3种功能:
- 进行
发布
- 订阅
事件流,同时可以持续性从其他系统进行数据的导入导出。
- 可靠存储事件流
- 可以回溯和实时处理事件流
Kafka
是分布式系统,由服务端与客户端组成,两者提供高性能TCP协议通讯。
Servers
:由一组服务器集群组成。部分服务组成存储层,被称为brokers
,其它服务运行Kafka Connect
。如果一个五服务故障,其他服务将接管任务,以确保连续运行同时不丢失数据。
Clients
:它们允许您编写分布式应用程序和微服务,即使在网络问题或机器故障的情况下,也可以并行、大规模、容错地读取、写入和处理事件流。
- 术语:
Event
:表示你的业务发生了什么。即读取或写入的数据。由key
、value
、timestamp
等其它属性组成。
Producers
是事件的发布者(写入事件),consumers
是事件的消费者(读取事件)。生产者与消费者完全解耦且互不感知。生成者无需等待消费者消耗。
Topics
:Events
被组织和持久存储在topic
中。如果Topic
类比为文件夹,则event
就是文件夹里的文件。在event
被消费后不会删除,可以由自己指定多长有效时间。数据大小不会影响Kafka
的性能。
Partition
:Topic
是分区的,即一个topic
分散在不同的Kafka brokers
上,这就允许客户端同时对数据进行读取或写入。一个event
实际最终被写到一个patition
内,有相同key
的event
会被写到相同的partition
。给定主题分区的任何使用者都将始终以与写入时完全相同的顺序读取该分区的事件。
- 每个
topic
都有副本,这些副本存在于多个brokers
,配置参数factor决定副本数量。
Core API
:
Admin API
:管理和检查主题、代理和其他Kafka对象。
Producer API
:发布(写入)事件流。
Consumer API
:订阅(读取)事件流。
Kafka Streams API
:采样流处理应用程序和微服务。
Kafka Connect API
:构建并运行可重复使用的数据导入/导出连接器,这些连接器从外部系统和应用程序消耗(读取)或生成(写入)事件流,以便与Kafka集成。
posted @
2024-02-02 16:01
nsfoxer
阅读(
7)
评论()
编辑
收藏
举报