如何最好地从许多来源收集消息?

时间:2011-05-03 00:00:34

标签: php logging messaging

我正在计划一个新项目,其目标是在一个地方收集来自多个来源的消息。基本上,同一网络上不同服务器上的不同网站需要向中央记录器报告有关正在采取的操作的一些信息。我希望这是一个提供给客户的服务,因为每个站点都会向中心发送一条消息。它不需要响应消息实际收到,并且如果它在负载下丢弃消息就没问题。如果客户要求,我希望它可以响应消息被收到并记录。

我在网站端使用PHP,并且更喜欢在日志记录方面使用它。任何人都可以让我深入了解可能适用于此的任何协议或架构吗?

编辑 或者,有没有人建议的消息库?我正在寻找关于协议或设计的任何好的答案,从db可能最容易扩展到它可以说的网络协议。 UDP会不会像这样的东西?消息发送速度是此设计中最重要的因素。

我正在使用当前用于登录计划的一台服务器。

2 个答案:

答案 0 :(得分:1)

强烈建议使用node.js。启动和运行服务器非常简单(有关基于UDP的服务器示例,请参阅this link)。您可以为节点安装数据库模块(npm非常适合安装第三方模块),因为它们不是node.js的原生模块。

由于它具有非阻塞特性,我很确定你在PHP中编写的任何东西都会在性能方面感到羞耻。

答案 1 :(得分:0)

我正在寻找一个消息排队系统作为中间,其背后的记录器收集消息并处理它们。

我发现的一些选择是RabbitMQ,Kestrel和Beanstalkd。