HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

Facebook 开源分布式日志存储系统 LogDevice

  • 2018-10-08
  • 本文字数:1096 字

    阅读完需:约 4 分钟

Facebook开源了他们的内部分布式日志存储项目LogDevice。它通过复制、持久日志存储和故障恢复实现写入高可用性。

Facebook 的大多数需要记录日志应用程序都需要写入高可用性、持久的日志存储以及在性能和延迟方面要求各不相同的工作负载。另一个非常重要的要求是能够承受硬件故障。Facebook 有一个叫作 Scribe 的旧项目侧重于将日志聚合到集中式存储中,但这种方案存在数据丢失的情况。Scribe 现在使用 LogDevice 作为日志存储后端。

Facebook 将 LogDevice 用在数据中心内部的流式处理管道、数据库索引更新的发布、机器学习管道、复制管道和持久任务队列(每秒摄取超过 1TB 的数据)中。尽管 Facebook 已经构建了很多用于管理 LogDevice 集群的开源工具,但还没有将它们开源出来,除了一些基本的工具集。 LDShell 工具可用于从命令行管理集群,并且可以使用 LDQuery 命令来查看集群统计信息。

LogDevice 使用“日志记录”抽象来划分单个日志事件,为每个记录分配一个称为日志序列号(LSN)的唯一 ID。LSN 由“Sequencer”组件基于时间点生成,而时间点保存在 ZooKeeper 中。LogDevice 只能以追加的模式写入记录,也就是说,一旦写入记录就无法修改。与大多数日志存储系统一样,LogDevice 会“修剪”记录,即基于时间或空间策略的日志轮换。它还可以按需进行日志修剪。除此之外,对日志的存储时间没有限制。

LogDevice 通过在不同的计算机节点上存储每个日志记录的多个副本来实现高可用性,尤其是写入高可用性。每条记录可以跨20-30 个存储节点复制。不过,如果某些具有某条日志副本的计算机速度很慢或不可用,那么该日志写入次数的增加会限制吞吐量。LogDevice 可以自动检测哪些节点已失效,并不再往这些节点写入新记录。它试图通过尽可能多的复制尽减少硬件故障的影响,并尽可能快地“重建”丢失的副本。在重建过程中,“可以以每秒5-10GB 的速率进行恢复”。LogDevice 底层存储基于RocksDB,它也是由Facebook 开源的一个键值存储系统。

LogDevice 团队还必须应对其他挑战,他们发现,LogDevice 的用户会执行回填(backfill),请求几个小时或几天内的旧数据。这些请求由使用 LogDevice 日志的下游服务发出,当这些服务从故障中恢复并重新处理日志时就会发生回填。LogDevice 通过在“节点集”之间分摊读取负载来应对这些读取高峰。

LogDevice 可以与 Apache BookKeeper Apache Kafka 等其他日志存储系统进行对比。其中与 Kafka 的主要区别似乎是LogDevice 将计算和存储进行了分离,主要是为了应对Facebook 规模的日志。LogDevice 是用C++ 开发的,并托管在 GitHub 上。

查看英文原文 Facebook Open Sources LogDevice - a Distributed Data Store for Log Storage

2018-10-08 10:231807
用户头像

发布了 731 篇内容, 共 449.1 次阅读, 收获喜欢 2002 次。

关注

评论 1 条评论

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

华为云开源校园行 | 线下meetup • 电子科技大学站

华为云开源

开源 云原生 华为云 Meetup

私有网络的安全保障,WorkPlus Meet内网视频会议助力企业高效会议

WorkPlus

SaaS 出海,如何搭建国际化服务体系?(一)

LigaAI

创业 SaaS 国际化 To B业务 客户成功

关于佛萨奇2.0版波场链/币安链/马蹄链智能合约系统开发详细案例及源码

V\TG【ch3nguang】

数字货币交易所/钱包开发系统开发详细,数字货币钱包/交易所系统开发(开发方案)源码

V\TG【ch3nguang】

HarmonyOS电话服务开发指导

HarmonyOS开发者

大模型时代的人工智能+大数据平台,加速创新涌现

阿里云大数据AI技术

人工智能

DAPP以太链/波场链/币安链代币合约流动性质押挖矿分红系统开发(开发详情及源码逻辑)

V\TG【ch3nguang】

合约跟单系统开发(方案及策略)丨合约跟单交易所系统开发(详细及源码)

V\TG【ch3nguang】

在宇宙的视角下看我们WE

脑极体

腾讯

全网最详细4W字Flink全面解析与实践(下)

Java随想录

Java 大数据 flink

BOE(京东方)发布2023年三季度报告 营收利润双增长 盈利能力持续提升

科技热闻

券商上演“极速交易”,天翼云组播行情解决方案助力券商稳中求快!

Geek_2d6073

三月份发车的Celestia你们拿到了吗

币离海

Celestia tia

现货合约跟单API对接交易所系统开发实现技术方案/源码部署

V\TG【ch3nguang】

浅谈元宇宙链游系统开发的原理及逻辑(Python框架)

V\TG【ch3nguang】

如何优雅的开发?低代码搭建应用如此轻松

互联网工科生

软件开发 低代码平台 JNPF

掌握Spring事件监听器的内部逻辑与实现

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟

WorkPlus:领先的IM软件,助力企业高效沟通与协作

WorkPlus

打造企业级门户,WorkPlus助您打造个性化与高效的企业通讯平台

WorkPlus

软件开发全文档归档,开发、管理、实施、运维、服务巡检、信息安全、安全运维

金陵老街

概要设计 详细架构设计文档 软件文档

OpenHarmony状态变量更改通知:@Watch装饰器

OpenHarmony开发者

装备制造行业云MES解决方案

万界星空科技

数字化转型 工业互联网 mes 装备修理行业 云mes

一文吃透低代码开发与传统IT开发的区别

树上有只程序猿

软件开发 低代码开发 IT开发

合约永续交易/秒合约/现货币币交易系统开发/技术应用

V\TG【ch3nguang】

第20期 | GPTSecurity周报

云起无垠

快速出彩!适合产品经理的10款AI生成PPT工具推荐!

彭宏豪95

人工智能 AI PPT 在线白板 办公软件

秒合约系统、跟单合约和量化秒合约技术开发

V\TG【ch3nguang】

打造美团外卖新体验,HarmonyOS SDK持续赋能开发者共赢鸿蒙生态

HarmonyOS开发者

DeFi流动性质押挖矿模式dapp系统开发模式详情(技术方案)

V\TG【ch3nguang】

Facebook开源分布式日志存储系统LogDevice_Meta_Hrishikesh Barua_InfoQ精选文章