大数据时代来临,如果你还不知道Kafka那你就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有
TOP10旅游公司,7家TOP10银行,8家TOP10保险公司,9家TOP10电信公司等等。
LinkedIn,Microsoft和Netflix每天都用Kafka处理万亿级的信息。Kafka主要应用于实时信息流的大数据收集或者实时分析(或者两
者兼有)。Kafka既可以为内存微服务提供持久性服务,也可以用于向复杂事件流系统和IoT/IFTTT式自动化系统反馈事件。
为什么是Kafka
Kafka常用于实时流数据结构的实时分析。由于Kafka是一种快速、可扩展、可持久和高容错的发布-订阅消息系统(publish-
subscribe messaging system),所以Kafka对于一些Use Case(有大数据量和高响应需求)的支持远好于JMS、RabbitMQ和
AMQP。相比于那些工具,Kafka支持更高的吞吐量,更高的稳定性和副本(replication)特性。这使得它比传统的MOM更加适
合跟踪服务调用(可以跟踪每次调用)或跟踪IoT传感器数据。
Kafka可以与Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用于实时获取、分析和处理流数据。
Kafka可以为Hadoop大数据湖(Hadoop BigData lake)提供数据流。Kafka Broker支持在Hadoop或Spark中低延时地处理和分析
海量信息流。此外,Kafka子项目KafkaStreaming可用于实时分析。
什么是Kafka Use Case
简而言之,Kafka用于流处理、网站活动跟踪、度量收集和监视、日志聚合、实时分析、CEP、将数据注入Spark和Hadoop、
CQRS、重放消息、错误恢复以及分布式提交内存计算(微服务)的日志。
谁在使用Kafka
许多需要快速处理大量数据的大公司都在使用Kafka。Kafka最初是由LinkedIn开发,用它来跟踪活动数据和运营指标。Twitter把
它作为Storm的一部分来作为流处理的基础。Square把Kafka当作总线,将所有系统事件(日志,自定义事件,指标等)传输到
各个Square数据中心,或者输出到Splunk,或者应用于Graphite(仪表板),或者实现Esper-like/ CEP警报系统。Spotify,
Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。
为什么Kafka这么流行
首先最主要的原因是Kafka具有极佳的性能表现。它非常稳定,能提供稳定的持久化,具有灵活的订阅-发布消息队列&