写点什么

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:007690

评论

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

JavaScript 基础(一):语法和程序结构

devpoint

JavaScript 函数 数据类型 3月月更

天翼云与龙芯完成产品兼容适配加速国产化云平台发展

天翼云开发者社区

广电行业如何上云?来抄作业!

天翼云开发者社区

分布式事务对于两阶段提交的错误处理

KunlunBase昆仑数据库

分布式数据库

Javascript实现上传图片并实现预览图片功能的三种方法

deal

3月日更 3月程序媛福利 3月月更

史上最通俗,彻底搞懂字符乱码问题的本质

BeeWorks

无所不云,开启你的美好旅行新体验!

天翼云开发者社区

响应速度提升80%以上,甘肃省医保信息平台稳固上线有法宝

华为云开发者联盟

数据库 华为云 华为云数据库 智慧医疗 医保

RTC 音频质量评价和保障

网易云信

WebRTC

CRM系统改善业务的方法

低代码小观

CRM 客户关系管理 企业管理系统 CRM系统 企业管理工具

昆仑分布式数据库架构介绍

KunlunBase昆仑数据库

数据库 分布式数据库

昆仑分布式数据库技术特点

KunlunBase昆仑数据库

分布式数据库 国产数据库

如何为你的企业创建自助服务知识库

小炮

主流移动端账号登录方式的原理及设计思路

BeeWorks

云图说丨初识数据工坊DWR

华为云开发者联盟

大数据 数据处理 算子 数据工坊 工作流编排

为什么要选择昆仑分布式数据库?

KunlunBase昆仑数据库

国产数据库

天翼云TeleDB数据库为实现自主可控全面亮剑

天翼云开发者社区

【OpenMLDB Monthly Meeting】2022.2 月会议纪要

第四范式开发者社区

人工智能 数据库 开源 Meetup 特征平台

穿透、击穿、雪崩…Redis这么多问题,如何解决?

华为云开发者联盟

redis 缓存 缓存穿透 缓存击穿 缓存雪崩

C++ 内存管理中内存泄漏问题产生原因以及解决方法

Linux服务器开发

C/C++ 内存管理 内存泄漏 Linux服务器开发 Linux后台开发

昆仑分布式数据库Sequence功能及其实现机制

KunlunBase昆仑数据库

分布式数据库

31 家企业入选阿里云首期云原生加速器,共建云原生行业新生态

阿里巴巴中间件

云计算 阿里云 云原生 加速器 生态伙伴

在一条DML语句中插入/更新/删除/获取几百万行数据,你会特别注意什么?

KunlunBase昆仑数据库

分布式数据库

企业IM首选移动数字化平台WorkPlus

BeeWorks

昆仑分布式数据库技术优势

KunlunBase昆仑数据库

分布式数据库 国产数据库

经典的两阶段提交算法原理及缺陷

KunlunBase昆仑数据库

分布式数据库

多任务学习模型之DBMTL介绍与实现

阿里云大数据AI技术

机器学习 深度学习 数据模型 多任务学习

“养老”变“享老”,老龄人口高峰与养老产业爆发催生金融需求

易观分析

养老服务 养老金融

10分钟快速玩转kunlun cluster

KunlunBase昆仑数据库

分布式数据库

开发者说丨如何从零开始构建一个轻量级应用

华为云开发者联盟

Vue 低代码 页面 应用 AppCube

星汉未来成为 FinOps 产业标准生态联盟首批会员

星汉未来

云原生 开源社区 成本优化 IT运维

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