使用Redis和Faye实现实时应用程序

时间:2018-04-07 05:40:14

标签: php ruby redis real-time faye

我需要开发一个实时通知系统。负载不会很高,每小时大约有十几个事件。但我只想让它在未来的发展中具有可扩展性。

我的申请完全由PHP撰写。

我找到了实现实时应用程序的不同方法。我认为以下架构非常简单,并且有很多好处。

here

但是我想使用Faye库来实现实时通知,因为它有后备,通常我不会使用Websockets,因为我的负载非常低,起初我将坚持long-polling机制。 Faye提供了一种禁用和启用不同传输协议的便捷方式。

以下是我的架构的外观

Real Time Ruby Architecture

但是我有一个关于从客户端回复的问题。

考虑以下情况。

  1. 客户端通过简单的旧HTTP请求将网页加载到PHP应用
  2. 客户端脚本打开websocket / long轮询连接
  3. 另一个人通过简单的AJAX请求
  4. 发布通知
  5. 此通知将保存到数据库并分配给目标收件人。
  6. 通知发布到Redis数据库并由Faye
  7. 使用
  8. 通知发送给客户,一切都很好。
  9. 到目前为止一切顺利,但我需要进行某种反向沟通,例如当客户解雇某个事件时。 如果我使用Faye发回此操作,应该如何实现,或者应该将其直接发送到PHP应用程序。如果使用Faye发回事件,我需要通知我的PHP应用程序已查看并解除了某个事件。当然,我可以使用PHP应用程序使用的Ruby应用程序中的相同数据库,但这会使这两个应用程序耦合。

    你能建议一个正确的方法来实现这个吗?

0 个答案:

没有答案