Kafka在微软的使用

简介: Kafka Summit 2016中有一个微软MS/Bing团队的分享。看了数据给大家分析下。微软有一套服务化的数据管道EventHub,作为云产品售卖。但在Bing、Ads、Office等场景上仍在使用Kafka,在整个公司规模上大概是一半 vs 一半。主要使用Kafka考虑是Kafka与开源流处

Kafka Summit 2016中有一个微软MS/Bing团队的分享。看了数据给大家分析下。微软有一套服务化的数据管道EventHub,作为云产品售卖。但在Bing、Ads、Office等场景上仍在使用Kafka,在整个公司规模上大概是一半 vs 一半。主要使用Kafka考虑是Kafka与开源流处理系统结合得更好(spark、storm等)。

一些数据

先来看一些基础的数据:
screenshot

  • 一天500TB,如果协议中带了压缩,一天原始数据量为2.5 PB左右(5倍压缩率),并不是非常大
  • 大约1300台机器,每台机器处理384GB 数据。平均每台机器4MB/S写入流量,峰值约为6-7MB/S。说明效率并不是很高。3份拷贝计算,写入流量平均每台机器峰值20MB左右。
  • Incoming vs outcoming大约是1:3左右,说明数据有3-4个消费者
  • 1.3 Million/S 输入,一天500TB,一个包大小为4.4KB

从一年的变化量上来看,增长还是挺快的,说明微软从15年1月份开始投入开源的拥抱。

screenshot

架构

微软在Kafka上包了Collector收集器,和消费API,类似LogHub Client Lib (Consumer Group)
screenshot

在消费端做除了拖以外、还提供了推的模式。类似AWS Kinesis Firehose,LogHub 的Shipper。目标是Kafka 另外Topic,COSMOS(数仓)以及Hadooop。

screenshot

数据

做了一层Restful API

screenshot

为了能够使得数据有语义,没有采用Confluent的Schema Center,而是采用了在数据上加了一个Header,通过自描述语义构建了包的类型和版本等。

screenshot

为了能够支持微软的编程习惯,做了一套Kafka C# SDK,还是蛮拼的

监控

在监控E2E消费时,用了一个挺重的方法来测量延时。既把数据到达时间,消费时间通过Spark Streaming做了Join,显示在ELK上。这个其实大可不必这样,只要能够知道ConsumerGroup 消费的CheckPoint是否是最新的,就能够知道了,何必大费周折。

screenshot

结尾

微软用Kafka主要目的还是为了更容易使用流计算、ELK等开源软件,从安全性、使用上而言,Kafka在收集端、消费端、监控等仍有非常多的点需要提高。

很多用法、思路微软和我们其实挺像的,有兴趣可以了解下日志服务(LogHub)与Kafka对比,链接

目录
相关文章
|
4月前
|
敏捷开发 安全 测试技术
软件开发的要点有哪些?
软件开发过程包括需求分析、设计、编码、测试、上线与维护五大阶段。每个阶段需注重团队合作、文档编写、安全性和性能优化。建议采用敏捷开发、CI/CD、建立用户反馈机制及持续培训,以确保开发高效、产品质量高且能快速响应市场变化。
|
9月前
|
Java 关系型数据库 MySQL
【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】
【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】
|
4月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
316 12
|
SQL 存储 机器学习/深度学习
SQL/PromQL? SLS时序分析选型
可观察性与Open Telemetry 在CNCF的landscape上,有专门的一个部分来展示Obserability and Analysis,什么是Observability(可观察性)? 我从OpenTelementry官网摘抄了这段描述:可观察性包括Logging,Metrics,Tracing这三类紧密配合的数据源:metrics可以用来发现问题,利用相关的trace去找到异常节点,再看该异常节点的日志去定位根因。
2280 0
|
存储 Prometheus 监控
SLS时序存储(MetricStore)双十一总结
随着应用架构的演进和云原生的发展,应用系统变得越来越复杂,为了保持系统稳定,对可观测性提出了更高的要求,SLS为此开发了时序存储(MetricStore),支持高可靠性、可拓展性、支持开源生态等优势,并结合SLS原有的采集、数据加工、分析、可视化、告警等能力,形成统一的解决方案。
1323 0
SLS时序存储(MetricStore)双十一总结
|
存储 Prometheus 监控
OpenTelemetry 在云原生 PaaS 中的落地实践
Trace 的接入作为我们的第一步尝试,在 Opentelemetry 和我们 PaaS 自研的 APM 后端/产品功能的集成上的效果还是比较令人满意的。
540 0
OpenTelemetry 在云原生 PaaS 中的落地实践
|
4月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
169 8
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
存储 Web App开发 数据采集
基于实时ETL的日志存储与分析实践
我们正处于大数据、多样化数据(非结构化)的时代,实时的机器数据快速产生,做一家数据公司的核心之一是如何充分利用好大量日志数据。本文将为大家介绍在 SLS 上兼顾日志数据灵活性、经济性的存储策略与实践。
2356 0
基于实时ETL的日志存储与分析实践
|
5月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
231 9
|
6月前
|
弹性计算 运维 监控
日志服务SLS体验评测
【8月更文挑战第13天】日志服务SLS体验评测
111 8

热门文章

最新文章