For my team project, I need to propose which one should we use PubNub or Amazon Simple Notification Service (SNS). I find PubNub very simple to implement and use but I could not find any thing concrete in Internet which says about there advantages and disadvantages over Amazon SNS.
相关问题
- Plugin with id 'com.google.gms.google-services
- How to generate 12 digit unique number in redshift
- Use awslogs with kubernetes 'natively'
- google-drive can't get push notifications
- Assume/switch role in aws toolkit for eclipse 2.0
相关文章
- Right way to deploy Rails + Puma + Postgres app to
- how many objects are returned by aws s3api list-ob
- AWS S3 in rails - how to set the s3_signature_vers
- Passthrough input to output in AWS Step Functions
- How can I add media attachments to my push notific
- I cannot locate production log files on Elastic Be
- ImportError: cannot import name 'joblib' f
- Static IP for Auto Scale in AWS
PubNub Real-Time Network and Amazon SNS
Both PubNub Real-Time Network and Amazon SNS use a Publish/Subscribe metaphor for sending and routing data. However, this is where the comparison ends. These two services provide different functionalities and solve different business problems; and one cannot replace the other.
Publishing to End-User Devices PubNub vs SNS
PubNub is explicitly designed to deliver data with low latencies (under 0.25 seconds SLA) to end-user devices, including smartphones, tablets, browsers, and laptops. These devices can be behind firewalls, NAT environments, cell towers authorities, and other hard-to-reach network environments. PubNub accomplishes this by maintaining an always open socket connection to every device, and using this open socket connection to “push” data at low latencies. PubNub provides over 50 client SDK libraries to make it easy “plug into” the PubNub Real-Time Network with a simple PubNub Subscribe API call.
Conversely, Amazon SNS has no way to reach client devices, except via email or SMS notifications. So, for applications that rely on low-latency data (such as multiplayer games, chat applications, collaborative apps, etc.) Amazon SNS is not the right solution in for this environment. The primary way that Amazon SNS sends data to subscribers is via Email or HTTP callbacks. Running an HTTP server on mobile, browser, and desktop devices to receive these notifications is impractical, both because of network firewalls and device security reasons. The primary use for Amazon SNS is for server-to-server publish/subscribe use cases, or email & text message end-user notifications. A good explanation of common Amazon SNS use cases is here: What are good uses of Amazon's Simple Notification Service?. Amazon SNS is not the correct tool for in-app real-time notifications. Amazon SNS is more analogous to Tibco or Tuxedo, which are server-to-server Publish/Subscribe systems.
Features PubNub Real-Time Network vs SNS
Beyond simple Publish/Subscribe, the PubNub Real-Time Network offers a collection of “building-block” services for any kind of real-time application. These services are not offered by Amazon SNS or other Amazon services:
PubNub Real-Time analytics -- PubNub provides various visualizations and usage statistics to display user activity, geography, and usage. An example screenshot is below:
Latency (i.e. “Real-Time”) PubNub vs SNS
Because PubNub delivers data via an existing, established open network socket, latencies are under 0.25 seconds from publish to subscribe in the 95% percentile of the subscribed devices. Most humans perceive something as “real-time” if the event is perceived within 0.6 - 0.7 seconds. Amazon SNS provides no latency guarantees, and the vast majority of latencies are measured over 1 second, and often many seconds slower. Again, this is somewhat irrelevant; Amazon SNS is designed for server-to-server (or email/SMS) notifications, where a latency of many seconds is often acceptable and expected.
Channels/Topics and Multiplexing PubNub and SNS
Amazon SNS allows for up to 100 “topics” to be created on an account (see Amazon Simple Notification Service (SNS)). A “topic” is equivalent to a PubNub channel. Conversely, PubNub supports an unlimited number of PubNub channels. Some customers today routinely use over 1 million channels each month. This allows every end-user device to have its own channel for one-to-one connectivity.
Further, PubNub’s support for Multiplexing allows a client device to connect to multiple PubNub channels simultaneously, while continuing to use a single network socket. This allows for a client to simultaneously subscribe to, for example, a “private” channel specifically paired with a single device or set of devices owned by the same person, and a “public” channel that a group or entire population may also subscribed to.
Another use-case for Multiplexing would be a streaming stock price application: Assume you want to stream the stock price changes for 1,000 different equities. Each stock would have it’s own PubNub channel. The end-user device would use PubNub Multiplexing to subscribe only to the PubNub channels associated with the equities they want to track.
Since Amazon SNS does not support Multiplexing, this type of use case is not possible.
Reliability and Redundancy PubNub Real-Time Network vs SNS
The PubNub Real-Time Network is globally distributed in 12 data centers and growing. All data published into the PubNub Global Cloud is automatically replicated globally, provides both low latency worldwide, as well as unparalleled reliability, even in the event of entire data center failures. PubNub offers up to 99.999% SLA uptime for it’s Real-Time Network. Amazon SNS is a beta offering, and as such, has no service level agreement.
Summary of PubNub Real-Time Network and SNS
Amazon SNS has a variety of interesting uses, mostly related to server-to-server notifications and email/SMS end-user alerts. It was originally developed as a way to orchestrate data between various other Amazon AWS cloud services, and thus is primarily used for server back-end operations and movement of data.
The PubNub Real-Time Network is designed to make it easy to build real-time apps on mobile, browser, and desktop that scale globally to millions of simultaneous users. Today PubNub is already in use across over 2,000 apps globally spanning social, advertising, gaming, telecommunications, and a variety of other markets.