Options for real-time web notifications and updates using Comet/XMPP vs WebSocket technologies on a Microsoft stack?

后端 未结 5 1980
一个人的身影
一个人的身影 2020-12-31 13:43

I am scoping out the architectural options for a project that will render live updates (like Facebook) of user activities - logins, photos, etc. Two main UI components of t

相关标签:
5条回答
  • 2020-12-31 14:15

    WebSync v4 uses WebSockets in addition to falling back to long-polling/callback-polling as needed. The WebSockets in WebSync are all over standard HTTP ports as well, so there won't be any issues with routers/filrewalls/etc.

    On a "normal" system, you should see ~20k concurrent (per node) and ~100k messages/sec. Those are very rough numbers though, as it depends drastically on your system and the types of messages you're sending, etc. We've seen as high as 50k users (per node) and (in a different test) 300k messages/second.

    (Disclaimer: I work for Frozen Mountain)

    0 讨论(0)
  • 2020-12-31 14:17

    SignalR wins.

    Now that the product has matured it's been a breeze to implement. Essentially it offers what those $everal thou$and dollar packages cost, but don't have the marketing bucks to showcase some really cool implementations.

    From a technical perspective you can accomplish the same things with SignalR. If your tech guys suggest otherwise, they probably don't know how to implement SignalR in a load-balanced environment (or even on its own).

    0 讨论(0)
  • 2020-12-31 14:26

    For reasons incl. those already stated above, I'd go with WebSockets.

    If you go with WebSockets, you might also consider Autobahn WebSockets, a high-performance WS server that supports Windows where it runs on top of IOCP (I/O completion ports).

    The latter is important if you want to scale to large connection numbers (hundred thousands).

    Disclaimer: I am author of Autobahn WebSockets. The base tech is OSS. We are currently preparing a commercial offering, a real-time messaging hub provided as a virtual appliance (runs on VMware/sphere) .. completely integrated, hardened appliance. The latter also allows you to push notification via the hub using a plain old HTTP/POST .. it has a REST API that allows you to dispatch to clients connected via WS. If you are interested in private beta testing, contact me ..

    0 讨论(0)
  • 2020-12-31 14:30

    It seems you pick the most stable Comet implementations available. All of them look stable, capable to host ten to hundred thousands of users per node and more.

    So, what could be the next? For example, PokeIn is going to host all aspects of a web application over VisualJS.NET; Video-1, Video-2

    This also shows the built-in capabilities of this library and the varieties you can do..

    Besides, latest version supports Base64 serialization for the messages between a client and server hence no more naked JSON messages on network packages.

    UPDATE: PokeIn 2.0 has built-in WebSockets support.

    0 讨论(0)
  • 2020-12-31 14:35

    The performance gain you get with WebSockets over traditional comet solutions is in the multiple orders of magnitude range; I'd definitely go with the WebSockets camp. Here's a traditional comet vendor's comparison of the two technologies, measuring an over 150x factor in favor of WebSockets (700ms vs. 3 ms at 50,000 users).

    A few notes on Kaazing's behalf:

    Kaazing is fully supported on Microsoft as a server platform. Also, as you note, Kaazing supports a variety of client libraries and technologies, including the Microsoft stack: .NET and Silverlight, used happily by many of our customers.

    In addition, Kaazing offers rich business protocols on top of WebSockets, allowing you to "speak" XMPP directly in your client code.

    About browser support: Kaazing provides exceptionally good WebSocket emulation, supporting all the browsers out there, including old browsers, all the way back to IE6. You can read more about it in this blog post.

    Regarding maturity: the Kaazing WebSocket Gateway has been shipping since 2009, and has a large number of high profile customers in many industries, including financial, logistics, gaming, and retail; very mature platform with top notch support.

    0 讨论(0)
提交回复
热议问题