mvf-tech/servicer

定义了常见的PHP消费者


README

各种辅助工具,可用于PHP中简化事件创建和消费。

此包旨在与event-consumer可重用服务一起使用。

入门

在本节中,您将了解如何设置PHP应用程序以消费和发布事件。

入口(事件消费者)

为了在PHP应用程序中消费事件,您需要使用event-consumer可重用服务。该服务是一个基于Node的应用程序,这是由于PHP的限制而必需的。简而言之,PHP不适合长时间运行的任务,当PHP进程长时间运行而不重启时,往往会发生资源泄漏和其他各种问题,使得基于PHP的消费者不可靠。

在上面的图中,您可以看到这种架构的样子。event-consumer服务读取存储在SQS队列中的消息(事件),并将每个消费的消息发送到您的web服务器上的events端点。

以这种方式在网络中发布事件消息有些奇怪,但这样可以帮助我们实现PHP中通常很难做到的两件事。

  • 这将在event-consumer和我们的EventHandler之间放置一个web服务器(无论是apache还是nginx),这是实现PHP中“并发”最容易和最可靠的方式。**注意**:还有其他替代方法,例如ReactPHP,但在PHP社区中并不常用。

  • 这避免了长时间运行的进程,每个消息都由PHP进程的不同实例处理,避免了长时间运行进程在PHP中可能遇到的各种问题。

在您的应用程序中,您需要两个东西

  • Controller,其中将处理events路由

  • Psr\Container\ContainerInterface兼容的容器,这是您将注册任何由控制器和您的EventHandlers所需的依赖的地方

了解如何设置

出口(事件发布)