02-Apache Kafka简介
kafka的定位
提到kafka,不太熟悉或者稍有接触的开发人员,第一想法可能会觉得它是一个消息系统。其实Kafka的定位并不止于此。
Kafka官方文档介绍说,Apache Kafka是一个分布式流平台,并给出了如下解释:
流平台有三个关键的能力:
发布订阅记录流,和消息队列或者企业新消息系统类似。
以可容错、持久的方式保存记录流
当记录流产生时就进行处理
Kafka通常用于应用中的两种广播类型:
在系统和应用间建立实时的数据管道,能够可信赖的获取数据。
建立实时的流应用,可以处理或者响应数据流。
由此可见,kafka给自身的定位并不只是一个消息系统,而是通过发布订阅消息这种机制实现了流平台。
其实不管kafka给自己的定位如何,他都逃脱不了发布订阅消息的底层机制。本文讲解的重点,也是kafka发布订阅消息的特性。
Kafka和大多数消息系统一样,搭建好kafka集群后,生产者向特定的topic生产消息,而消费者通过订阅topic,能够准实时的拉取到该topic新消息,进行消费。如下图:

Kafka特性
kafka和有以下主要的特性:
消息持久化
高吞吐量
可扩展性
尤其是高吞吐量,是他的最大卖点。kafka之所以能够实现高吞吐量,是基于他自身优良的设计,及集群的可扩展性。后面章节会展开来分析。
Kafka应用场景
消息系统
日志系统
流处理
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 shiyuquan.cn
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果