我目前正在开发一个事件记录系统,该系统将构成实时分析系统的一部分。单个事件通过 rpc 从主应用程序发送到另一台服务器,在该服务器上运行在 apache 下的单独的 php 脚本处理事件数据。
当前,接收服务器 PHP 脚本将事件数据移交给 AMQP 交换/队列,Java 应用程序从该队列中弹出队列中的事件,对它们进行批处理并执行批处理数据库插入。
这将提供很好的可扩展性,但是我认为成本是复杂性。
我现在希望简化一些事情,所以我的问题是:
是否可以从接收服务器上的 PHP 脚本中删除 AMQP 队列并直接将事件批处理和插入到数据库中?
如果是这样,是否需要某种中间数据库来对事件进行批处理,或者是否可以在 PHP 中进行批处理?
提前致谢
编辑:
感谢您花时间回复,更具体。是否可以将在 Apache 下运行的 PHP 脚本配置为处理多个 http 请求?
那么,当 Apache 产生子进程时,这些进程中的每一个都将被配置为接受 1000 个 http 请求,处理它们然后关闭?