我有一个现有的PHP网站,我希望使用node.js添加实时通知系统
我在下图中概述了我的应用程序的结构:
我假设生成通知时PHP和Node.js之间的通信是我实现实时通知的唯一方法(除非我在node.js中重新编码我的整个网站,这是不可能的)
如何从PHP与node.js通信? (两者都存在于同一台服务器上或至少存在于同一本地局域网中)
我在网上和几个SO线程上找到了一些解决方案:
还有其他更好的方法吗?
此外,所有通知都不会发送给所有订阅者。
因此,用户1生成的通知只会传送到用户2,3和4(因为我的网络应用程序的一些业务规则) 需要维护此权限系统。如何确保所有订阅者都没有收到所有通知?
实现这一目标的最有效方法是什么?
答案 0 :(得分:2)
我知道这个答案很晚才出现,但几天前我遇到了同样的问题。
我们的解决方案是在中间使用像RabbitMQ这样的消息代理。基本上,PHP作为producer
在有东西被推送时创建消息,而Node.js在另一侧作为consumer
监听队列并在有新内容时发布消息。 / p>
与PHP和Node.js之间的直接通信相比,此方法有一些优点。