是否存在开源分布式日志库?

jkf*_*kff 5 language-agnostic logging monitoring distributed cluster-computing

我在谈论一个允许我从不同机器记录事件的库,并将这些事件在"全局"时间轴上以足够高的精度对齐.

实际上,我问,因为我自己在集群计算项目中编写了这样的东西,我发现它非常有用,我很惊讶我找不到任何类似物.

因此,重点是这样的事情是否存在(我更好地为此做出贡献)或者什么都不存在(我最好写一个我的解决方案的开源模拟).

以下是我希望从这样的库中获得的功能:

  • 独立于不同机器之间的时钟偏移
  • 定时精度至少为几毫秒,最好是几微秒
  • 可扩展到数千个并发日志记录进程,每秒至少有几兆字节的聚合日志
  • 软实时操作(我不想从200台机器上收集200个大型日志,然后计算时钟偏移并合并它们 - 我想看看"现场"会发生什么,可能会有10秒的小延迟)

nad*_*vwr 1

Facebook 在此事上的贡献被称为“ Scribe ”。

摘抄:

Scribe 是一个用于聚合流日志数据的服务器。它旨在扩展到大量节点,并且对网络和节点故障具有鲁棒性。系统中的每个节点上都有一个运行的抄写服务器,配置为聚合消息并将它们发送到较大组中的中央抄写服务器(或多个服务器)。

...

Scribe 是使用非阻塞 C++ 服务器实现为节俭服务的。Facebook 的安装在数千台机器上运行,每天可靠地传送数百亿条消息。

该 API 是基于 Thrift 的,因此您拥有良好的平台覆盖范围,但如果您正在寻找 Java 的简单集成,您可能需要看看 Digg 的Scribe 的 log4j 附加程序