Apache Kafka的应用

Kafka是新数据堆栈中的关键技术之一,在过去几年中,很多的开发人员对Kafka的使用非常感兴趣。Kafka是一个高度可扩展的发布 – 订阅消息传递系统。这里,我们列出几个Kafka用例和Kafka应用程序。

1. Kafka用例

pic

a. 消息传递

Kafka是一个分布式发布 – 订阅消息传递系统,因此,Kafka可以作为替代品代替传统消息代理工作。 出于各种原因,比如,将处理与数据生成器分离,缓冲未处理的消息等等,我们会使用消息代理。 但是,与大多数其他消息系统相比,Kafka具有更好的吞吐量、内置分区、复制和容错功能,这使它成为大规模消息处理应用的良好解决方案。

b. 网站活动追踪

Kafka最开始的用例是把用户活动跟踪管道重建为一组实时发布 – 订阅源。这意味着把网站活动将发布到中心主题上,每个活动类型对应一个主题。这里,网站活动是指用户可能采取的网页浏览、搜索或其他操作。

c. 指标(Metrics)

Kafka经常用来对运营数据进行监控,这涉及从分布式应用程序聚合统计信息以生成运营数据的集中式提要。

d. 日志聚合(Log Aggregation)

可以使用Kafka从多个服务中收集日志并把它们以标准格式输出给多个消费者。

e. 流处理

一些流行的框架可以从主题中读取数据,处理这些数据,并将处理后的数据写入新的主题,然后用户和应用程序可以从这些新的主题中获取处理后的数据并使用,例如Storm和Spark Streaming。在流处理的背景下,Kafka的强大耐用性也非常有用。 

f. 事件溯源(Event Sourcing)

事件溯源是一种应用程序设计风格,其中状态更改记录为按时间排序的记录序列。 Kafka对非常大的存储日志数据的支持使其成为以这种风格构建的应用程序的出色后端。

g. 提交日志(Commit Log)

Kafka可以作为分布式系统的一种外部提交日志,该日志有助于在节点之间复制数据,并充当故障节点恢复其数据的重新同步机制。Kafka中的日志压缩功能有助于支持此用法,在这种用法中,Kafka类似于Apache BookKeeper项目。 

2. Kafka的应用

pic

a. Twitter

Twitter是Kafka最好的应用程序之一。Twitter是著名的在线社交网络服务或平台,它使用Kafka并提供了一种发送和接收用户推文的方法。通过Twitter,注册用户可以阅读和发布推文,但未注册的用户只能阅读推文。但是,它使用Storm-Kafka作为其流处理基础架构的一部分。

b. LinkedIn

另一个Kafka应用程序是LinkedIn。LinkedIn使用Apache Kafka处理活动流数据和运营指标。 和Hadoop这样的离线分析系统一样,Kafka消息系统为LinkedIn的一些在线消息消费产品如LinkedIn Newsfeed,LinkedIn Today提供了帮助。另外,Kafka的强大持久性也是LinkedIn使用Kafka的关键因素之一。

c. Netflix

Netflix是一家美国的跨国互联网流媒体供应商,它使用Kafka进行实时监控和事件处理。

d. Mozilla

1998年,Netscape的成员创建了一个免费软件社区Mozilla。为了从终端用户浏览器为Telemetry,Test Pilot等项目收集性能和使用数据,Kafka很快将取代Mozilla当前生产系统的一部分。 

e. Oracle 

Oracle的OSB产品(Oracle Service Bus)提供了与Kafka的本地连接,这运行开发人员利用OSB内置的调解(mediation)功能来实现分阶段数据管道。

Apache Kafka的应用

发表评论

邮箱地址不会被公开。 必填项已用*标注

五十 六 − = 五十

滚动到顶部