0

我们有一组负载平衡的 j2ee 服务器,其中每台服务器每天生成 >500 MB 的日志。维护服务器日志的最佳方法是什么。

目前我有三个选择。

  1. 在每个服务中维护一个单独的日志文件夹
  2. 将日志写入数据库
  3. 维护一个单独的日志服务器并使用 jms 写入日志

这是这个问题的最佳最优解。

如果您有更多解决方案,请提出建议。

4

1 回答 1

0

最佳解决方案可能是主观的,它实际上取决于您试图通过日志记录实现的目标以及您的环境是如何设置的。首先,我想说的是,无论您选择哪种解决方案,日志记录都不是免费的,因此请始终考虑它将对系统产生的成本/影响。

每个服务器的单独文件夹:

  • 如果您使用轮询作为负载平衡策略,那么来自客户端的请求可以记录在不同的服务器上。尝试跨多个服务器整理数据日志条目要困难得多。

写入数据库:

  • 这将使事情保持集中
  • 可以利用数据库访问控制来授予对日志的访问权限。
  • 如果您有大量的并发使用,它可能会给数据库带来大量负载,从而导致争用。

推入 JMS 队列:

  • 我认为这是最灵活的选择,也是一个很好的基础。
  • 允许您将工作卸载到另一台服务器,您可以花更多时间来解析日志以供将来过滤。
  • 可以为所有日志维护一个中心位置
  • 允许您从日志记录过程中抽象出持久性机制。这意味着您可以登录到数据库、文件系统、NoSQL DB 或您想要的每个存储。
  • 我会尽量减少记录到队列中的内容,而不是过滤队列中的内容,因此在队列之前使用适当的日志记录级别。
于 2012-10-15T06:00:46.393 回答