『美团』程序员基础解答:什么是Kafka?
文章图片
Kafka的成长正在蹦沙卡拉卡!
在《财富》 500强公司中 , 超过三分之一的公司使用Kafka 。 这些公司包括排名前十的旅行社 , 排名前十的银行中有七个 , 排名前十的保险公司中有八个 , 排名前十的电信公司中有九个 , 等等 。 LinkedIn , Microsoft和Netflix每天使用Kafka(1000000000000)处理消息 。 国内腾讯、阿里、特别是支付宝等 , 都大量在用 。
Kafka用于实时数据流 , 收集大数据或进行实时分析 。 Kafka与内存中的微服务一起使用 , 提供持久性 , 并且可以将事件馈送到CEP(复杂事件流系统)和IoT / IFTTT风格的自动化系统 。
为什么选择Kafka?Kafka通常用于实时流数据架构中以提供实时分析 。 由于Kafka是一种快速 , 可伸缩 , 持久且具有容错能力的发布系统 , 因此Kafka用于JMS、RabbitMQ和AMQP的用例中 。
Kafka具有更高的吞吐量 , 可靠性和复制特性 , 这使其可用于跟踪服务呼叫或跟踪可能不考虑传统MOM的IoT传感器数据之类的事 。
Kafka可以与Flume / Flafka , Spark Streaming , Storm , HBase , Flink和Spark一起使用 , 以实时提取 , 分析和处理流数据 。 也是用于送Hadoop BigData的数据流 。 同时它还代理支持大量消息流 , 以便在Hadoop或Spark中进行低延迟的后续分析 。 此外 , Kafka Streams(一个子项目)也可以用于实时分析 。
Kafka用例简而言之 , Kafka用于流处理 , 网站活动跟踪 , 指标收集和监视 , 日志聚合 , 实时分析 , CEP , 将数据摄取到Spark中 , 将数据摄取到Hadoop , CQRS , 重播消息 , 错误恢复和有保证的分布式提交用于内存计算(微服务)的日志 。
谁使用Kafka?许多处理大量数据的大公司都使用Kafka 。 起源于LinkedIn的LinkedIn用来跟踪活动数据和运营指标 。 Twitter将其用作Storm的一部分 , 以提供流处理基础结构 。 Square使用Kafka作为总线 , 将所有系统事件移至各个Square数据中心(日志 , 自定义事件 , 指标等) , 向Splunk输出 , 用于Graphite(仪表板) , 并实现类似Esper/CEP警报系统 。
国外Spotify , Uber , Tumbler , Goldman Sachs , PayPal , Box , Cisco , CloudFlare和Netflix等其他公司也都会使用它 。
为什么Kafka如此受欢迎?Kafka具有操作简便性 。 Kafka易于设置和使用 , 并且很容易弄清楚Kafka是如何工作的 。 但是 , Kafka受欢迎的主要原因是其出色的性能 。 它稳定 , 提供可靠的耐用性 , 具有灵活的发布/队列 , 可以很好地适应N个消费者组 , 具有强大的复制能力 , 为生产者提供可调的一致性保证 , 并且可以在分片级别(即Kafka)提供保留的订购主题分区) 。
此外 , Kafka可以与需要处理数据流的系统配合使用 , 并使这些系统能够聚合 , 转换并加载到其他商店中 。 但是 , 如果Kafka慢一点 , 那么这些特征都将无关紧要 。
为什么Kafka这么快?Kafka非常依赖OS内核来快速移动数据 。 它依赖零复制的原理。 通过Kafka , 可以将数据记录分批处理 。 从生产者——文件系统(Kafka主题日志)——消费者这条路径中 , 可以端对端地查看这些批次的数据 。
批处理允许更有效的数据压缩并减少I / O延迟 。 Kafka将不可变的提交日志顺序写入磁盘 , 从而避免了随机磁盘访问和缓慢的磁盘搜索 。 并通过分片提供水平缩放 。 它会将主题日志分片到数百个(可能是数千个)分区中 , 成千上万个服务器 。 这种分片使Kafka可以处理大量负载 。
- 美团:共享单车定位改变,“不仅仅是出行”,新一轮的较量“一触即发”
- 工业互联网@程序员的术与道:术——编程基本功之网络编程
- 物联网:HTML基础回顾
- 互联网圈里人单挑美团饿了么,堪称凶猛:顺丰正式送外卖
- 饿了么▲快递一哥进军外卖行业,搅局还是水到渠成扩张?美团饿了么危险了
- Python爱好者社区| 程序员逆天改命,漫画
- 雷军■程序员辞去互联网工作,跨行去传统上市公司,结果上班第1天就蒙了
- 『程序员』身为京东最大股东的马化腾,却在扶持拼多多?刘强东:“请便!”
- 『美团』工厂“用工荒”,外卖员60天激增58万?曹德旺:年轻人别去送外卖
- 欢乐的小馒头美团老总王兴 两大巨头开始正面交锋……,滴滴老总程维