Facebook开源分布式日志系统LogDevice
极客时间编辑部
讲述:丁婵大小:1.27M时长:02:46
近日,Facebook 正式宣布开源 LogDevice,为从事分布式实时处理、存储系统相关工作的开发者们送上了一份大礼。
LogDevice 结合了 FaceBook 内部多个开源项目的精髓,例如 Cassandra,它的无中心化存储、碎片化存储(SSTable)、SSTable 文件合并等优秀的特性,为确保日志文件的高速写入、快速读取提供了技术支撑。
LogDevice 是一个分布式日志系统。文件系统以文件的形式来存储和管理数据,而日志系统则以日志的形式来存储和管理数据。日志可以被看成是一种面向记录、只可以追加和可裁减的文件:
面向记录意味着数据被当成不可再分割的记录(而不是以单个字节的形式)写入日志。记录是最小的寻址单位,读取数据的应用程序始终从特定的记录开始读取日志,或者从要追加到日志的下一条记录开始读取日志。日志的记录通过单调递增的日志序列号(LSN)来识别。
日志只可以追加,不支持修改现有记录。
日志预计会存在相对较长的时间,可能是几天、几个月甚至是几年。日志主要的空间回收机制是裁减(trim),根据基于时间或空间的保留策略,来删除最旧的记录,或者根据裁减请求来删除日志。
据了解,LogDevice 旨在为多种大规模日志提供高可靠性和高处理性能。它还具备高度可调性,可以针对每种使用场景进行优化,以便在持久性 / 效率和一致性 / 可用性方面做出正确的权衡取舍。
目前,LogDevice 已经在 Facebook 内部广泛使用,包括以下应用场景:
流处理管道;
在大型分布式数据库中分发索引更新;
机器学习管道;
复制管道;
持久可靠的任务队列。
在过去几年里,Facebook 为管理 LogDevice 集群打造了很多内部工具,开发人员正在尝试将这些内部的自动化工具也集成到 LogDevice 开源版本中。这次发布的首个开源版本包含一套简单的工具集,构成了使 LogDevice 可以正常工作的基础架构的核心部分。在大规模生产环境中,还需要使用一些额外的工具来完成如监控、集群拓扑管理等工作。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论