我以为我了解这项技术,但也许我不了解。两者有什么区别?为什么你会选择一个而不是另一个?
用例:~实时更新。
我是Faye的作者。从概念上讲,Faye 和 Redis pub/sub 做的事情非常相似,事实上,最新版本的 Faye 可以使用 Redis 作为后端。正如 Tom 所说,Redis 适用于服务器集群内的进程间消息传递,因为 Redis 客户端将访问您的整个 Redis 数据库。
如果您想通过 Web 提供可公开访问的 pub/sub 服务,例如为您的网站的 UI 提供动力,Faye 更合适。它只进行发布/订阅,而不是像 Redis 提供的任何其他存储,并且通过 HTTP 和 WebSocket 而不是通过原始 TCP 套接字工作。它还允许用户定义的客户端和服务器端扩展来扩展它使用的消息传递协议。
Redis 发布/订阅是一个非常简单的系统,供服务器集群内部使用 - 它需要一个与 redis 的开放连接(未经身份验证并可以完全访问 redis 中的所有内容)。
显然,这是处理适当场景的最有效方式,但如果您需要身份验证、可靠传递或 http 连接,则需要在 redis 之上添加更完整的消息传递系统。Faye 是这个领域的选择之一。