背景: 我们当前的系统涉及两个使用 HTTP 回调相互通信的服务(一个用 Java 编写,另一个用 PHP 编写)。我们希望从 HTTP 回调迁移到使用 ActiveMQ(或其他,如有必要)的基于消息的架构。我们可能会使用STOMP在它们之间进行通信。最终,PHP 服务将用 Java 重写,但这不是这个项目的一部分。
问题: ActiveMQ 系统如何通知 PHP 一条新消息已发布到 PHP 系统订阅的队列中?在当前系统中,回调固有地调用 PHP 并触发它。这随着基于消息的架构而消失。
可能的解决方案:
- Cron 定期调用一个 PHP 脚本来检查新消息。呸。
- 一个长时间运行的 PHP 进程,它循环和休眠并检查新消息。少恶心?
- ActiveMQ 在发布新消息时调用 PHP 脚本。好,怎么样?
- ??