【问题标题】:Ruby REST client publish-subscribe communication possible or not?Ruby REST客户端发布-订阅通信是否可行?
【发布时间】:2015-02-10 16:01:24
【问题描述】:

我知道允许我访问源的 rails REST 接口。 我知道消息传递的发布-订阅策略

是否可以通过发布订阅策略实现 REST 客户端(不是浏览器,但 ruby​​ 客户端在 arduino 设备上工作)以访问资源(例如,服务器通知客户端资源现在可用,您可以接收)?

我知道Faye。是否可以使用 Faye 实现 REST 客户端以通过 ruby​​ 的发布订阅接收?如果 Faye 无法使用 Ruby REST 客户端构建发布订阅通信的其他解决方案? Faye 如何通知 ruby​​ 客户端进行资源通知?

【问题讨论】:

  • 恕我直言,您正在混合两个不相关的概念。 REST 允许您访问源,而 PubSub 是一个消息传递系统。不过,您可以使用 REST 作为您的 PubSub 访问/搜索相关消息的层。
  • 这正是我所需要的“不过,您可以使用 REST 作为您的 PubSub 访问/搜索相关消息的层”。但是我应该遵循什么方法?你能建议我使用 ruby​​ 吗
  • 抱歉,您必须重新表述您的陈述并提出问题。

标签: ruby-on-rails ruby rest faye


【解决方案1】:

REST是基于HTTP的,所以是Request-Response。 您无法使用 REST 制作 Pub/Sub 服务。

如果我是你,我会使用 Faye 通知客户有关新资源或任何你想要监控的内容。

在收到通知后,您可以向 REST 发出 Ajax 请求并获取新记录。

但最好的方法是使用 Faye 将更改推送到客户端。

不用注意,很简单。

【讨论】:

  • 感谢您的回复。你能告诉我更多 Faye 是如何通知 ruby​​ 客户端的吗?如果可能,请给我一些步骤。
  • 这是一个广泛的主题。看看这个 railscast railscasts.com/episodes/260-messaging-with-faye
  • 我观看了这个 railscast,其中为特定频道创建了浏览器客户端。
  • 所以,服务器会通过Faye通知客户端。你只需要实现它。我无法为您提供真正的代码,因为我对您的应用一无所知。
  • 我观看了这个 railscast,其中浏览器客户端是使用 Javascript 创建的,但我需要为特定频道创建一个没有浏览器的 ruby​​ 客户端。我理解这个railscast。但正如您之前提到的“我会使用 Faye 通知客户有关新资源或您想要监控的任何内容” - 您如何发送此通知?你能描述一下吗
猜你喜欢
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 2012-02-04
  • 1970-01-01
相关资源
最近更新 更多