1

我正在寻找一个解决方案列表,其中包含实现从 Web 服务器到客户端 .NET 应用程序的流数据的详细信息/起点。特别是,像 SQS 和 SNS 这样的云服务与 SignalR 和轮询/或自定义解决方案有何不同?

我已经确定了这些技术。我正在寻找一个描述,以分享这些技术如何具体相关以及它们适合的位置:

4

2 回答 2

2

这种分类将有助于:

  1. 基本机制:推与拉(民意调查):
    1. push:通常使用开放套接字实现:原始 tcp、websocket(用于 HTML5 客户端)。
    2. 轮询:客户端每隔一段时间查询一次服务器
    3. 长轮询:类似于轮询,但服务器保持请求打开并响应新事件
  2. 通用概念/流行语
    1. 彗星
  3. 语言/框架/技术
    1. .Net - 信号红外
    2. nodejs - socketIO(使用了多种技术,但主要用于 Web 客户端)
    3. python - 扭曲的龙卷风(通用框架)
    4. 排队技术:RabbitMQ、AMQP、0MQ - 都具有多种语言绑定
    5. XMPP(标准/协议) - 具有多种语言绑定的多个服务器实现
  4. 自托管与托管服务
    1. 您托管使用上述框架之一实现的“推送”服务器
    2. 其他人正在托管服务并提供服务器 api 和客户端库:
    3. 酒馆
    4. 推动者
    5. MS Azure:服务总线,通知总线
    6. AWS SQS - 托管队列(客户端轮询/长轮询),SNS - 与您的用例大多不相关的多种格式(可能除了 webhook)

其他要检查/比较的事情:

  1. 延迟 - 技术之间非常不同
  2. 消息吞吐量
  3. 可扩展性模型
于 2013-09-12T04:09:20.767 回答
0

让我试着在这里回答我自己的问题。请在可能的情况下扩展/进行更正和澄清。

Comet -> 一种通过 HTTP 向客户端推送数据的模型。Comet 是一个涵盖多种技术的总称。

Polling -> 一种通过重复请求通过 HTTP 检索数据的方法

Web Sockets -> HTMl5 中取代 COMET 的新技术部分。支持有限?

云服务 -> 用于消息传递和通知的“托管”解决方案。这些服务可能会使用 Comet、Polling 或 Web Sockets,具体取决于可用的内容。

MsgConnect 和 SignalR -> 这些是通过 HTTP 传输数据的自托管解决方案/技术,可能使用 Comet 技术和/或 Web Web 套接字。SignalR 主要是一种 .NET 技术,旨在通过 Web 实现流式传输。

SignalR 可以使用 Comet 技术或轮询和/或可能部署在云上。它们只是传输方法,不包括云服务等服务器服务

云服务与 SignalR 等技术的不同之处在于它们包括用于传输数据的 API、用于托管数据的数据库以及客户端也可以连接的可用服务地址,而 SignalR 将部署在一个人管理/拥有的 Web 服务器/服务器上.

有关其他信息,请参阅以下内容:

什么是 ASP.NET SignalR ASP.NET SignalR 是一个供 ASP.NET 开发人员使用的新库,它可以非常简单地将实时 Web 功能添加到您的应用程序中。什么是“实时网络”功能?它是让您的服务器端代码实时将内容推送到连接的客户端的能力。

http://www.asp.net/signalr

http://www.asp.net/signalr/overview/getting-started/tutorial-signalr-self-host

Comet 是一种 Web 应用程序模型,其中长期持有的 HTTP 请求允许 Web 服务器将数据推送到浏览器,而无需浏览器显式请求它。

http://en.wikipedia.org/wiki/Comet_(编程)

WebSocket 旨在在 Web 浏览器和 Web 服务器中实现,但它可以被任何客户端或服务器应用程序使用。WebSocket 协议是一个独立的基于 TCP 的协议。它与 HTTP 的唯一关系是它的握手被 HTTP 服务器解释为升级请求。[1]

http://en.wikipedia.org/wiki/Web_sockets

Azure“平台即服务”AWS“基础设施即服务” http://gigaom.com/2011/09/04/the-great-debate-windows-azure-vs-amazon-web-services/

对流数据的轮询、长轮询和 ajax 的良好描述 http://msdn.microsoft.com/en-us/magazine/hh965663.aspx

于 2013-09-11T21:35:16.307 回答