写点什么

Pinterest 基于 AWS 规模化使用 Apache Kafka 的实践经验

  • 2018-12-13
  • 本文字数:999 字

    阅读完需:约 3 分钟

Pinterest基于AWS规模化使用Apache Kafka的实践经验

在 Pinterest,Apache Kafka 被用于为实时流应用程序传输数据、记录日志和可视化监控指标。Pinterest 的 Kafka 托管在 AWS 上,为了实现复制和高可用性,其安装使用了 MirrorMaker 和 DoctorKafka 工具。


Pinterest 的技术主管Yu Yang写道,Pinterest 的Kafka安装运行在 2000 多个“代理(broker)”上,分布在 AWS 的三个地区,每天处理 8 亿多条、1.2PB 消息。他们的主要 Kafka 工具集包括 Kafka 的 MirrorMaker 和 Pinterest 自己的 DoctorKafka。MirrorMaker 消费源集群中的数据并将其发布到目标集群,实际上是创建源集群的副本。Pinterest 的团队使用它在三个 AWS 区域之间传播数据。大多数代理都位于 us-east-1,尽管这是 AWS 历史最悠久的区域,但它也有自己的问题。每个集群中的 Kafka 代理分布在三个可用性区域中,每个主题分区的副本都分布在三个区域中,因此,最多可以承受两个代理失败。


Kafka 代理失败很常见。替换失败的代理和重新平衡工作负载“需要谨慎地创建和编辑分区再分配文件,并手动执行 Kafka 脚本命令”,Yang 在前一篇文章中写道。其结果是DoctorKafka,一个自动化这些步骤的开源工具。DoctorKafka 可以检测失败,并自动将工作负载分配给健康的代理。它基于“主代理(master-agent)”模型。“代理体(agent)”在每个代理上运行并收集指标,中央主服务器分析这些指标。中央服务器确定故障并运行命令采取纠正措施。DoctorKafka 是“保守”的,因为它只有在确定的时候才会采取纠正措施,否则就会发出警告。大多数大型 Kafka 部署都会使用一种复制策略,使用 MirrorMaker 或类似的工具


Pinterest 在 AWS d2.2xlarge 实例上运行 Kafka。据 Yang 介绍,由于EBS争用导致的性能问题,他们从st1 EBS磁盘经过吞吐量优化的 c3.2xlarge 实例转到了有本地存储的 d2 实例。然而,其他人在他们的基准测试中报告了相反的结果。Kafka 还构成了 Pinterest 日志基础设施的基础,每天处理 100+TB 的数据。服务将数据写到磁盘,日志代理Singer从磁盘获取数据并写到 Kafka。另一个自定义工具Secor从 Kafka 获取日志消息,并将它们持久化到 S3,以克服“Kafka 的弱最终一致性模型”的不足。


未来,Pinterest 将探索把Kubernetes作为 Kafka 部署的抽象层,一些组织已经在这样做了。Pinterest 的一些服务已经转移到容器中。另一个目标是再次探索 EBS 存储,因为新的 EBS 产品经过了更好的优化。


查看英文原文:Scaling Apache Kafka at Pinterest


2018-12-13 14:001664
用户头像

发布了 1008 篇内容, 共 409.9 次阅读, 收获喜欢 346 次。

关注

评论 2 条评论

发布
用户头像
企鹅3362六29503 高速外..网.梯.子 免.费试..用 gma.il/ytb/twi.tt无限.制 这世上有一条路无论如何也不能走,那就是歧途,只要走错一步结果都会是粉身碎骨。
2019-01-02 20:21
回复
没有更多了
发现更多内容

AI日课@20230408:如何基于大模型训练一个自己的数字克隆

无人之路

ChatGPT

简单好用的文件对比工具:Beyond Compare 4中文版

真大的脸盆

Mac Mac 软件 文件对比 文件对比工具 对比文件

Mac 触控增强神器BetterTouchTool详细图文使用教程

Rose

苹果电脑 BetterTouchTool破解 BetterTouchTool教程 Mac 触控板

Vue3 Transition 踩坑记

沉浸式趣谈

踩坑 Vue 踩坑经历 vue cli VUE 3.0 源码解析

macOS 13 Ventura (苹果最新系统) v13.3.1正式版

Rose

macOS 13 Ventura 苹果最新系统 Macos13系统

5分钟搞懂5G安全增强

俞凡

5G 安全 网络 通信

Django笔记四之字段属性

Hunter熊

Python django model field 字段属性

post-css/less/sass样式嵌套与命令之"&"符号—BEM

zhoulujun

less SASS bem post-css

推荐一款优秀电商开源项目

越长大越悲伤

开源 推荐算法 电商 Java'

保持住你写代码的姿势,你就是黑带了

Bruce Talk

敏捷开发 TDD Agile

深度学习基础入门篇[三]:优化策略梯度下降算法:SGD、MBGD、Momentum、Adam、AdamW

汀丶人工智能

人工智能 机器学习 深度学习 梯度下降算法

chrome对页面重绘和回流以及优化进行优化

zhoulujun

chrome 重绘 回流

【Spring专题】「技术原理」从源码角度去深入分析关于Spring的异常处理ExceptionHandler的实现原理

码界西柚

spring 源码分析 4月日更 ExceptionHandler 异常处理器

失真函数、失真矩阵与平均失真

timerring

信息论

Cornerstone for Mac(最好用的SVN管理工具) v4.2永久激活版

Rose

mac软件下载 SVN客户端 cornerstone 4破解 Cornerstone mac版

有哪些 python 的在线练习题或编程挑战的网站?

Jackpop

如何优雅地使用 Markdown?

Jackpop

哪个网站的电子书最多?

Jackpop

流批一体数据交换引擎 etl-engine

weigeonlyyou

flink 消费 kafka 物联网 数据迁移 Kafka ETL 大数据‘’

MouseBoost for Mac(右键助手)中文版

Rose

mac电脑 MouseBoost for Mac MouseBoost激活版 右键鼠标助手工具

QEMU线程模型

Linux内核拾遗

线程模型 Linux Kenel 虚拟化 qemu kvm

css过去及未来展望—分析css演进及排版布局的考量

zhoulujun

CSS

使用Tuxera NTFS Mac修护移动磁盘:步骤详解

Rose

Tuxera NTFS Mac2022 Tuxera NTFS教程 ntfs

sketch文件导出没有背景色怎么办? sketch背景色消失的解决办法

Rose

sketch Mac Sketch下载 sketch无背景

区分List中 remove(index)/remove(Object)

Joseph295

【异常解决】postman请求提示Full authentication is required to access this resource

No8g攻城狮

测试 Postman

SQLChat 的 RBAC 之旅

天黑黑

AI sql 数据库· ChatGPT

Pinterest基于AWS规模化使用Apache Kafka的实践经验_语言 & 开发_Hrishikesh Barua_InfoQ精选文章