Kafka 特性

Kafka支持多个生产者和消费者,消息持久化及集群部署,适用于日志收集、业务提交和监控度量指标等场景,提供高吞吐量和可靠的消息处理能力。

Kafka 特性

标签(空格分隔): Kafka

支持多个生产者

多个生成者连接Kafka来推送消息,这个和其他的消息队列功能基本上是一样的

支持多个消费者

Kafka支持多个消费者来读取同一个消息流上面的数据,再同一个用户组下面,消费者消息读取完毕以后,其他的消费者将不可以重复读取,这种方案可以应用到集服务器对同一个消息流进去并行处理。如果配置在不同的用户组下面,消息是可以重复读取的。

支持消息保存规则,持久化消息

将消息持久化按照一定的规则保存,设置消息保存时间,超过时间内自动删除消息

支持集群

性能高,信息吞吐量大

Kafka采用日志结构存储方式对消息进行持久化,对新消息进行追加,处理单一,因此存储效率高,外加他可以支持集群,分区存储,增加了IO对文件读写效率因此可以实现,ei百万级每秒百万级的消息读写。

使用场景

日志系统,对于一些业务量算庞大的系统,每天要产生很多的日志,日志本身的保存有些情况下是很消耗资源,严重的情况下会有应接不暇,消耗系统性能.

业务提交,现在的网络下单,火车票预定,这些高并发的场景下,一下子有很多用户来提交订单,这个时候可以将订单提交给Kafka,让系统处理Kafka里面的消息逐步的完成业务,缓解单独提交给数据库的压力

监控度量指标充当时序数据库的角色。一般工业自动化监控系统,监控设备的状态,一般每隔一秒都会提交数据,而且监控的点hen很多比如:温度,转速等等,这个时候Kafka也可以用来记录这些状态信息。当然市场上有很多的开源的时序数据库,其实原理都是差不多的。基于LSM存储,集群基于Hadoop分布式原理。

posted on 2019-01-03 09:46 易哲 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/swneng/p/10212503.html

<think>我们正在讨论Kafka的基本功能和特性概述。根据引用内容,Kafka是一个分布式的流处理平台,具有发布订阅消息、容错存储和实时处理消息流的功能。同时,它还具有高吞吐、低延迟、持久化、分布式等特点。下面我将结合引用内容,系统概述Kafka的基本功能和特性。 引用[1]提到Kafka可以作为监控数据的集中收集和分发平台,在消息队列、日志收集与分发、流式处理、事件驱动架构和指标监控等方面有广泛应用。 引用[2]指出Kafka的三个主要功能:发布和订阅消息、具有容错和持久化的存储机制、实时处理消息流。 引用[3]强调Kafka是一个分布式的消息队列,目标倾向于高吞吐和低延迟。 引用[4]提到了消费者读取数据的流程,涉及操作系统的缓存和网络传输,这反映了Kafka在性能优化上的设计。 引用[5]则比较了Kafka与传统消息系统在消息排序上的优势,指出Kafka在并行消费的情况下仍能保证分区内的顺序性。 根据以上引用,我们可以将Kafka的基本功能和特性概述如下:</think>### Kafka 基本功能和特性概述 #### 一、核心功能(三大支柱) 1. **发布/订阅消息系统** - 支持生产者-消费者模式的消息传递 - 提供持久化消息存储(默认保留7天,可配置) - 实现跨系统的异步通信和解耦[^3] 2. **分布式容错存储** - 数据自动分片(分区机制) - 多副本冗余(ISR机制保障数据安全) - 支持海量数据持久化(TB/PB级)[^2] 3. **实时流处理** - 低延迟消息处理(毫秒级) - 支持流式ETL和数据管道 - 提供Streams API实现复杂处理逻辑[^1] #### 二、核心特性 | 特性 | 技术实现 | 业务价值 | |---------------------|--------------------------------------------------------------------------|------------------------------| | **高吞吐** | 零拷贝技术 + 顺序磁盘I/O + 批量压缩 | 单集群可达百万级TPS[^1] | | **低延迟** | 内存页缓存(PageCache)优化 + DMA网络传输[^4] | 生产到消费<10ms | | **水平扩展** | 分区(Partition)自动均衡 + Broker无状态设计 | 无缝扩容至千节点级 | | **强顺序性** | 分区内严格有序(`offset`顺序)[^5] | 关键业务状态一致性保障 | | **持久化存储** | 日志结构化存储 + 分段(Segment)索引 | 数据丢失风险趋近于0 | | **生态整合** | Connect API + 兼容Protocol Buffers/JSON/Avro | 无缝对接Hadoop/Spark/Flink等 | #### 三、与传统消息队列对比优势 ```mermaid graph LR A[传统消息队列] -->|单点瓶颈| B[吞吐受限] A -->|并行消费失序| C[排序保证弱] A -->|内存存储| D[数据易失] E[Kafka] -->|分区并行| F[线性扩展] E -->|分区内有序| G[强顺序保证] E -->|磁盘持久化| H[数据高可靠] ``` #### 四、典型应用场景 1. **实时数据管道** - 日志聚合(ELK替代方案) - 指标监控(Prometheus数据源)[^1] 2. **事件驱动架构** - 微服务间异步通信 - CQRS模式实现 3. **流处理平台** - 实时风控(欺诈检测) - IoT设备数据处理 4. **数据同步** - 数据库变更捕获(CDC) - 跨数据中心复制 #### 五、架构关键组件 $$ \begin{array}{c} \text{Producer} \\ \downarrow \\ \text{Broker集群} \\ \uparrow \\ \text{Consumer Group} \\ \end{array} \quad \begin{array}{c} \text{ZooKeeper/} \\ \text{KRaft} \\ \end{array} $$ - **Producer**:消息发布端(支持异步批量发送) - **Broker**:服务节点(管理Topic/Partition) - **Consumer Group**:消费单元(组内负载均衡) - **协调服务**:早期依赖ZooKeeper,新版内置KRaft共识算法 > **性能基准**:LinkedIn生产环境实测单集群日均处理**2万亿条**消息,峰值吞吐**1.4GB/s**[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值