限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

Cloudflare 的 Kafka 之旅:万亿规模消息处理经验分享

作者:Nsikan Essien

  • 2023-04-30
    北京
  • 本文字数:818 字

    阅读完需:约 3 分钟

Cloudflare的Kafka之旅:万亿规模消息处理经验分享

在伦敦 QCon 大会上,Cloudflare高级系统工程师Andrea Medda和工程经理Matt Boyle分享了他们的平台服务团队在使用Apache Kafka来处理万亿规模的消息方面得到的经验教训。


Boyle 首先概述了 Cloudflare 需要解决的问题——提供自己的私有云和公共云服务,以及随着业务需求的增长而出现的团队耦合所带来的运营挑战。接着,他介绍了他们是如何将 Apache Kafka 作为他们的消息总线的。



Boyle 说,虽然消息总线模式解耦了微服务之间的负载,但由于 schema 是非结构化的,所以服务仍然是紧密耦合的。为了解决这个问题,他们将消息格式从JSON转成了Protobuf,并构建了一个客户端库,在发布消息之前对消息进行验证。



随着越来越多的团队开始采用 Apache Kafka,他们开发了一个连接器框架,让团队可以更容易在 Apache Kafka 和其他系统之间传输数据,并在传输过程中转换消息。



在疫情期间,随着 Cloudflare 系统负载的增加,他们发现他们的一个关键用户出现了瓶颈,已触及其服务水平协议(SLA)。Medda 分享了他们为了找到问题的根源,不得不使用来自Open Telemetry生态系统的工具来丰富他们的 SDK,以获得更好的跨堆栈交互可见性。



Medda 继续强调,他们 SDK 的成功带来了更多的内部用户,这催生了对更好的文档和ChatOps支持形式的需求。


Medda 总结了他们获得的主要的经验教训:


  • 在为 Apache Kafka 提供开发人员工具时,在高度可配置和简单标准化方法之间取得平衡;

  • 选择简单而严格的 1 对 1 契约接口,确保最大限度地了解主题及其使用情况;

  • 在开发工具指标上投入,让问题可以更容易地被发现;

  • 为应用程序开发人员提供清晰的模式文档,确保他们在采用和使用 Apache Kafka 方面保持一致性。


最后,Boyle 分享了一款叫作 Gaia 的内部产品,可以根据 Cloudflare 的最佳实践一键创建服务。



原文链接

https://www.infoq.com/news/2023/04/cloudflare-kafka-lessons-learned/


相关阅读:

使用 Strimzi 将 Kafka 和 Debezium 迁移到 Kubernetes

使用 Strimzi 提高 Kafka 集群的安全性

Kafka Streams 与 Quarkus:实时处理事件

2023-04-30 08:007857

评论

发布
暂无评论
发现更多内容

架构师日记-从技术角度揭露电商大促备战的奥秘 | 京东云技术团队

京东科技开发者

京东云 企业号 6 月 PK 榜 京东618

平台即产品:数字化转型的全新驱动力

SEAL安全

平台工程 平台即产品

深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)

汀丶人工智能

人工智能 自然语言处理 深度学习 命名实体识别 6 月 优质更文活动

HummerRisk获中国开源创新大赛优秀奖

HummerCloud

开源 云安全

浪潮 KaiwuDB x 大数据中心 | 数据驱动政府治理能力快速提升

KaiwuDB

KaiwuDB 大数据中心建设

Sparkplug 规范中涉及 MQTT Broker 的 5 个关键概念

EMQ映云科技

通信协议 mqtt 工业物联网

STM32通过ADC1读取光敏电阻的值转换光照强度

DS小龙哥

6 月 优质更文活动

KaiwuDB 受邀亮相山东省数字化转型论坛

KaiwuDB

数字化转型 KaiwuDB

Amazon CodeWhisperer 编程助手试用总结

Hanson

短视频云端批量混剪实操指南

阿里云CloudImagine

云计算 短视频 视频云 云剪辑

构建系列之新一代利器Esbuild(上)

江湖修行

cli 构建 esbuild 前端‘’

千万级数据的可视化交互展示:Vue.js 技术解析

xfgg

Vue eCharts 6 月 优质更文活动

一些对程序员有用的网站

小万哥

程序员 程序人生 运维 前端 后端

Service Mesh的主要实现原理

穿过生命散发芬芳

Service Mesh 6 月 优质更文活动

Flink实现高效实时处理百万级数据:实践与优化

xfgg

flink 6 月 优质更文活动

【Netty】「萌新入门」(一)Hello, World!

sidiot

Java 后端 Netty 6 月 优质更文活动

深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制

汀丶人工智能

人工智能 深度学习 计算机视觉 视频分类 6 月 优质更文活动

在 Go 中如何使用 database/sql 来操作数据库

江湖十年

MySQL 后端 Go 语言

京东购物车分页方案探索和落地 | 京东云技术团队

京东科技开发者

京东云 京东商城 企业号 6 月 PK 榜 6 月 优质更文活动

PoseiSwap的趋势性如何体现?

鳄鱼视界

C语言编程—递归

夜猫西街

2023-06-11:redis中,如何在100个亿URL中快速判断某URL是否存在?

福大大架构师每日一题

redis 福大大架构师每日一题

深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景

汀丶人工智能

人工智能 深度学习 计算机视觉 OCR 6 月 优质更文活动

【差分隐私】基本原理与入门级应用 | 京东云技术团队

京东科技开发者

京东云 差分隐私算法 企业号 6 月 PK 榜

微服务之负载均衡

Disaster

微服务

想要更好地理解大模型架构?从计算参数量快速入手

Baihai IDP

人工智能 Transformer 大模型 白海科技 企业号 6 月 PK 榜

Java线程池三、调优和性能优化

echoes

Java 线程池

直播回顾 | 一体化智能可观测平台如何保障电商节大促

博睿数据

可观测性 智能运维 博睿数据 618 电商行业

C语言编程—递归

芯动大师

递归 C语言 6 月 优质更文活动

“全球金牌课程”8月5-6日 · CSM认证在线周末班【提前报名特惠】CST导师亲授

ShineScrum

敏捷教练 Scrum Master CSM 敏捷项目管理

Cloudflare的Kafka之旅:万亿规模消息处理经验分享_语言 & 开发_InfoQ精选文章