我需要开发一个实时通知系统。负载不会很高,每小时大约有十几个事件。但我只想让它在未来的发展中具有可扩展性。
我的申请完全由PHP
撰写。
我找到了实现实时应用程序的不同方法。我认为以下架构非常简单,并且有很多好处。
但是我想使用Faye
库来实现实时通知,因为它有后备,通常我不会使用Websockets
,因为我的负载非常低,起初我将坚持long-polling
机制。 Faye
提供了一种禁用和启用不同传输协议的便捷方式。
以下是我的架构的外观
但是我有一个关于从客户端回复的问题。
考虑以下情况。
HTTP
请求将网页加载到PHP
应用AJAX
请求Redis
数据库并由Faye
到目前为止一切顺利,但我需要进行某种反向沟通,例如当客户解雇某个事件时。
如果我使用Faye
发回此操作,应该如何实现,或者应该将其直接发送到PHP
应用程序。如果使用Faye
发回事件,我需要通知我的PHP
应用程序已查看并解除了某个事件。当然,我可以使用PHP应用程序使用的Ruby应用程序中的相同数据库,但这会使这两个应用程序耦合。
你能建议一个正确的方法来实现这个吗?