PHP中的事件日志系统为数据库插入批处理事件


Event logging system in PHP batching events for db insert

我目前正在开发一个事件日志系统,该系统将成为实时分析系统的一部分。单个事件通过rpc从主应用程序发送到另一个服务器,在该服务器上,在apache下运行的单独php脚本处理事件数据。

目前,接收服务器PHP脚本将事件数据交给AMQP交换/队列,Java应用程序从队列中弹出事件,对其进行批处理,并执行批处理数据库插入。

这将提供极大的可扩展性,但我认为成本是复杂的。

我现在想把事情简化一点,所以我的问题是:

是否可以删除AMQP队列,并从接收服务器上的PHP脚本中直接将事件批处理和插入数据库?

如果是这样的话,是否需要某种中介数据库来批量处理事件,或者可以从PHP中进行批量处理?

提前感谢

编辑:

感谢您花时间做出回应,更具体地说。在Apache下运行的PHP脚本是否可以配置为处理多个http请求?

那么,当Apache产生子进程时,每个进程都将被配置为接受1000个http请求,处理它们,然后关闭?

我看到了您问题的三个潜在答案:

  1. 可能

如果你分享替代实现的指标(因为你所问的一切在技术上都是可能的,所以请先做,然后得到艰难的结果),我们可以给出更好的建议。但只要你不提供一些肉,把它放在烤架上,并向我们展示结果,就没有什么好说的了。