私のチーム プロジェクトでは、PubNub と Amazon Simple Notification Service (SNS) のどちらを使用するかを提案する必要があります。PubNub は実装と使用が非常に簡単だと思いますが、Amazon SNS に対する長所と短所について述べている具体的なものはインターネットで見つけることができませんでした。
1 に答える
PubNub リアルタイム ネットワークと Amazon SNS
Quora から提供された元の回答: Amazon SNS で PubNub を使用する利点と欠点は何ですか?
PubNub Real-Time Networkと Amazon SNS はどちらも、データの送信とルーティングにパブリッシュ/サブスクライブ メタファーを使用します。ただし、これで比較は終了です。これら 2 つのサービスは、異なる機能を提供し、異なるビジネス上の問題を解決します。そして、一方を他方に置き換えることはできません。
エンドユーザー デバイスへのパブリッシュ PubNub vs SNS
PubNub は、スマートフォン、タブレット、ブラウザ、ラップトップなどのエンドユーザー デバイスに低レイテンシ (0.25 秒未満の SLA) でデータを配信するように明確に設計されています。これらのデバイスは、ファイアウォール、NAT 環境、携帯電話基地局、およびその他の届きにくいネットワーク環境の背後にある可能性があります。PubNub は、すべてのデバイスに対して常に開いているソケット接続を維持し、この開いているソケット接続を使用して低レイテンシでデータを「プッシュ」することでこれを実現します。PubNub は 50 を超えるクライアント SDK ライブラリを提供し、シンプルなPubNub Subscribe API 呼び出しで PubNub Real-Time Network に簡単に「プラグイン」できるようにします。
逆に、Amazon SNS は、E メールまたは SMS 通知を介する以外に、クライアント デバイスに到達する方法がありません。そのため、低レイテンシーのデータに依存するアプリケーション (マルチプレイヤー ゲーム、チャット アプリケーション、コラボレーション アプリなど) の場合、Amazon SNS はこの環境に適したソリューションではありません。Amazon SNS がサブスクライバーにデータを送信する主な方法は、E メールまたは HTTP コールバック経由です。これらの通知を受信するためにモバイル、ブラウザー、およびデスクトップ デバイスで HTTP サーバーを実行することは、ネットワーク ファイアウォールとデバイス セキュリティの両方の理由から、現実的ではありません。Amazon SNS の主な用途は、サーバー間のパブリッシュ/サブスクライブのユースケース、または E メールとテキストメッセージのエンドユーザー通知です。一般的な Amazon SNS のユース ケースの適切な説明は、次のとおりです。. Amazon SNS は、アプリ内リアルタイム通知の正しいツールではありません。Amazon SNS は、サーバー間のパブリッシュ/サブスクライブ システムである Tibco または Tuxedo に似ています。
PubNub リアルタイム ネットワークと SNS の特徴
単純なパブリッシュ/サブスクライブを超えて、PubNub リアルタイム ネットワークは、あらゆる種類のリアルタイム アプリケーションの「ビルディング ブロック」サービスのコレクションを提供します。これらのサービスは、Amazon SNS または他の Amazon サービスでは提供されません。
- PubNub プレゼンス-- どのユーザーがオンラインであるかをリアルタイムで更新し、オフラインになったときにアラートを出します。これらの更新は、アプリ内のユーザー数が変化するたびにプレゼンスの更新をストリーミングする、多重化された PubNub の「姉妹チャネル」を介して提供されます。「Here_Now()」と呼ばれる追加の API も、アプリ内のユーザーに最新のカウントを提供します。
- PubNub ストレージ/再生-- PubNub は、各チャネルに発行されたすべてのデータを自動的に保存し、このデータを取得するための 2 つのメカニズムを提供します。このデータは、テレビ録画用の DVR に似ています。
PubNub リアルタイム分析 -- PubNub は、さまざまな視覚化と使用統計を提供して、ユーザーのアクティビティ、地理、および使用状況を表示します。スクリーンショットの例を以下に示します。
- PubNub オフライン モバイル プッシュ-- PubNub は、モバイル アプリが実行されていないとき (またはバックグラウンドで実行されていないとき) に、モバイル デバイスへのメッセージのフォールバック メカニズムも提供します。PubNub はモバイルの「プッシュ通知」にフォールバックできるため、携帯電話がポケットに入っている場合でも、モバイル エンドユーザーに確実に通知できます。アプリが起動されるとすぐに、アプリは PubNub のリアルタイム ネットワークの使用を再開します。
- AES 暗号化-- PubNub は、すぐに使える AES 256 暗号化サポートを提供し、PubNub ネットワークを介してルーティングする間、データが暗号化されたままであることを保証します。Amazon SNS は HTTPS を提供しますが、これは、Amazon ネットワークを介してルーティングする間、データが暗号化されないことを意味します。これにより、HIIPA、SAS70、およびその他のセキュリティ志向のアプリケーションに対する Amazon SNS の使用が即座に無効になります。
- 多重化-- PubNub は、単一の TCP ソケット接続を介してすべてのデータ トピックをストリーミングできるメカニズムにより、マルチチャネル通信を強化します。PubNub Multiplexing を使用すると、バッテリー駆動の電話や低速のネットワーク接続などのモバイル デバイス リソースで節約が最も顕著になります。構成可能なウィンドウ処理によってデータが圧縮およびバンドルされるため、継続的に変化するネットワーク条件の下でバッテリ寿命が長くなり、エンド ユーザー エクスペリエンスが向上します。
レイテンシー (つまり「リアルタイム」) PubNub と SNS
PubNub は既存の確立されたオープン ネットワーク ソケットを介してデータを配信するため、サブスクライブされたデバイスの 95% パーセンタイルで、パブリッシュからサブスクライブまでのレイテンシは 0.25 秒未満です。イベントが 0.6 ~ 0.7 秒以内に認識された場合、ほとんどの人は何かを「リアルタイム」と認識します。Amazon SNS はレイテンシーの保証を提供せず、レイテンシーの大部分は 1 秒を超えて測定され、多くの場合、何秒も遅くなります。繰り返しますが、これはあまり関係がありません。Amazon SNS は、サーバー間 (または E メール/SMS) 通知用に設計されており、多くの場合、数秒のレイテンシーが許容および予想されます。
チャンネル/トピックとマルチプレックス PubNub と SNS
Amazon SNS では、1 つのアカウントで最大 100 個の「トピック」を作成できます ( Amazon Simple Notification Service (SNS)を参照)。「トピック」は PubNub チャネルに相当します。逆に、PubNub は無制限の数の PubNub チャネルをサポートします。今日、一部のお客様は、毎月 100 万を超えるチャネルを定期的に使用しています。これにより、すべてのエンド ユーザー デバイスが、1 対 1 接続用の独自のチャネルを持つことができます。
さらに、多重化に対する PubNub のサポートにより、クライアント デバイスは単一のネットワーク ソケットを使用し続けながら、複数の PubNub チャネルに同時に接続できます。これにより、クライアントは、たとえば、同じ人物が所有する単一のデバイスまたは一連のデバイスと具体的にペアになっている「プライベート」チャネルと、グループまたは全人口がサブスクライブする可能性のある「パブリック」チャネルに同時にサブスクライブできます。 .
多重化のもう 1 つの使用例は、ストリーミング株価アプリケーションです。1,000 の異なる株式の株価の変化をストリーミングしたいとします。各株には独自の PubNub チャネルがあります。エンドユーザーのデバイスは、PubNub Multiplexing を使用して、追跡したい株式に関連付けられた PubNub チャネルのみにサブスクライブします。
Amazon SNS は多重化をサポートしていないため、このタイプのユースケースは不可能です。
信頼性と冗長性 PubNub リアルタイム ネットワークと SNS
PubNub Real-Time Network は、12 のデータ センターに世界中に分散されており、その数は増え続けています。PubNub Global Cloud に公開されたすべてのデータは自動的にグローバルに複製され、データセンター全体に障害が発生した場合でも、世界中で低レイテンシと比類のない信頼性を提供します。PubNub は、リアルタイム ネットワークに対して最大 99.999% の SLA アップタイムを提供します。Amazon SNS はベータ版であるため、サービス レベル アグリーメントはありません。
PubNubリアルタイムネットワークとSNSのまとめ
Amazon SNS にはさまざまな興味深い用途があり、主にサーバー間の通知や E メール/SMS エンドユーザー アラートに関連しています。もともとは、他のさまざまな Amazon AWS クラウド サービス間でデータを調整する方法として開発されたため、主にサーバー バックエンドの操作とデータの移動に使用されます。
PubNub Real-Time Networkは、モバイル、ブラウザー、およびデスクトップ上でリアルタイム アプリを簡単に構築できるように設計されており、世界中で数百万人の同時ユーザーに対応できます。今日、PubNub は、ソーシャル、広告、ゲーム、電気通信、およびその他のさまざまな市場にまたがる世界中の 2,000 以上のアプリで既に使用されています。