1

私は最近 WCF についてよく読んでいますが、(インスタント メッセージング システムのように) サブスクライバー ブロードキャスト メカニズムを実装するという話題が出てくるときはいつでも、解決策は常に静的ディクショナリを使用してサブスクライバー チャネルを保持することです。

次の質問への回答に例がありますが、これは一般的な方法です。 サービスへの呼び出し全体で利用可能なサブスクライバーのリストを作成する

これは「従来の」Web プログラミングにとって非常に優れたソリューションのように思えますが、これはクラウドでどのように処理されるのでしょうか? 具体的には、グリッド内のすべてのコンピューターが異なる「静的」変数を持っているという事実をどのように回避するのでしょうか?

さまざまなクラウド プラットフォームについて、私はほとんど知りません。Azure、Amazon Web Services、および VMWare 用に異なるソリューションはありますか?

4

3 に答える 3

1

ブロードキャスト/プッシュ型の通知については、SignalR (http://signalr.net/) を参照してください。Microsoft は ASP.NET プラットフォームの一部を作成しています: http://channel9.msdn.com/Events/Build/2012/3-034

WebSockets のような高度なものがサーバー/クライアントでサポートされていない場合、複数のメカニズムにフォールバックするなど、いくつかの本当に優れた機能があります。それは実行可能ですが、そのすべてを WCF でコーディングする必要があります。

クラウド ベンダーのプラットフォームにはかなり大きな違いがあります。複数のリンクを投稿することもできますが、あなたが言及したクラウド ベンダーは、提供するものを非常に急速に変化せています。特定のクラウド ベンダーに対するあなたのコミットメントは長期的なものです...それをよく考えないでください。ベンダー A にはベンダー B にはないものがあります。ところで、そのような違いがあります...たとえば、Amazonには特殊なVMがあります。高I / O、高メモリ、高CPUです。一方、たとえば Azure には、はるかに優れた設計の VM レイヤーがあります。

私はこのように考えています (mu 意見)...Microsoft は、.NET、ASP.NET、サーバー プラットフォーム: SQL Server、Windows Server、SharePoint、Office Services などを所有する会社です。このような豊富な製品ポートフォリオを持たない Amazon や VMWare。さらに、Microsoft はこれらのサーバーをクラウドに価格設定することができ、Amazon/RackSpace/VMWare は Microsoft に割増料金を支払う必要があります。Microsoft Azureプラットフォームを支持するWCF/.NETについて話しているようです。

Azure では Linux VM を実行できます。Python、Java などのコードですが、Microsoft スタックを優先します。逆に、AWS では .NET/Microsoft などを実行できますが、Linux/オープン ソース スタックが優先されます。長期的に考えてみてください...なぜなら、2 年以内に両方の主要なクラウド ベンダーがこれらの分野でコミットメントを行うからです。たとえば、RackSpace は OpenStack プラットフォームに全面的に取り組んでいますが、選択の余地はありません。

于 2012-11-08T19:24:45.150 に答える
0

Windows Azure Service Busには、WCFイベントのブロードキャストに使用できるオプションがいくつかあります。

RealyサービスにはnetEventRelayBindingがあります。これにより、サブスクライブしているサービスインスタンスは、クライアントがエンドポイントを呼び出したときに一方向のサービス呼び出しを受け取ることができます。クライアントが識別されていない場合、クライアントはメッセージを受信しません。

http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_eventingonservicebusvs2010_topic2.aspx

Brokered Messagingには、最大2,000人のサブスクライバーにメッセージを送信できるヒントとサブスクリプションがあります。メッセージは永続的に保存されるため、クライアントが切断された場合、再接続時にすべてのメッセージを受信します。

http://www.cloudcasts.net/devguide/Default.aspx?id=12044

よろしく、

アラン

于 2012-11-08T19:41:18.433 に答える
0

AppHarborのRabbitMQのようなものを調べる価値があるかもしれません。それは私が見る意味を持ち続けているものですが、時間を見つけることができません。他に誰も持っていないので、私はそれについて言及するだけです;)

于 2012-11-08T20:41:36.303 に答える