[解決済み】メッセージキューとウェブサービスは?[をご紹介します。]
2022-04-02 08:03:03
質問
Webサービス(ここではHTTP上のXMLやJSON、YAMLなどを意味し、特定のタイプではありません)ではなく、メッセージキューを介して会話するアプリを支持するのは、どのような条件下ででしょうか?
私はローカルネットワーク上の2つのアプリの間で話をしなければなりません。一方はWebアプリで、もう一方のアプリ(異なるハードウェアで動作)にコマンドを要求する必要があります。リクエストは、ユーザーの作成、ファイルの移動、ディレクトリの作成などです。どのような条件下で、メッセージキューを使用するよりもXML Webサービス(またはストレートTCPなど)を使用する方が良いでしょうか?
WebアプリはRuby on Railsですが、質問はそれよりも広範に及ぶと思います。
どのように解決するのですか?
ウェブサービスを利用する場合、クライアントとサーバーが存在します。
- サーバーに障害が発生した場合、クライアントが責任を持ってエラーを処理する必要があります。
- サーバーが再び動作するようになったら、クライアントは再送信の責任を負います。
- サーバーが呼び出しに応答し、クライアントが失敗した場合、操作は失われます。
- もし、1台のサーバーにあるWebサービスを1秒間に何百万人ものクライアントが呼び出したら、おそらくあなたのサーバーはダウンしてしまうでしょう。
- サーバーからの即時応答が期待できますが、非同期呼び出しも扱えます。
RabbitMQ、Beanstalkd、ActiveMQ、IBM MQシリーズ、Tuxedoなどのメッセージキューを使用すると、より耐障害性の高い異なる結果を期待できます。
- サーバーに障害が発生した場合、キューはメッセージを保持します(オプションとして、マシンがシャットダウンした場合でも)。
- サーバーが再び動作するようになったら、保留中のメッセージを受信する。
- サーバーが呼び出しに応答し、クライアントが失敗した場合、クライアントが応答を確認しなかった場合、そのメッセージは持続されます。
- コンテンションがある場合、サーバーが処理するリクエストの数を決めることができます (代わりにワーカーと呼びます)。
- 即時の同期応答は期待しないが、同期呼び出しの実装/シミュレートはできる。
メッセージ・キューには他にもいろいろな機能がありますが、エラー発生時に自分で処理するか、メッセージ・キューに任せるかは、このような経験則で判断してください。
関連
-
[解決済み] [【解決済み】tempuri.orgとは何ですか?
-
[解決済み] Spring RestTemplateクライアント - 接続拒否例外
-
[解決済み] メッセージキューとメッセージバス、その違いは?
-
[解決済み] RESTを理解する。動詞、エラーコード、認証
-
[解決済み】WCFとASMXのWebサービスの違いは何ですか?
-
[解決済み】P99のレイテンシーって何ですか?
-
[解決済み】XSDとWSDLの違いは何ですか?
-
[解決済み】APIとウェブサービスの比較【終了しました
-
[解決済み] セキュアなWebサービス:REST over HTTPS vs SOAP + WS-Security。どちらが優れているか?[クローズド]。
-
[解決済み] なぜSOAPベースのサービスではなく、RESTを使うのか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [【解決済み】tempuri.orgとは何ですか?
-
[解決済み] PeopleSoftで標準的なWebサービスAPIが利用可能ですか?
-
[解決済み] Spring RestTemplateクライアント - 接続拒否例外
-
[解決済み] Outlook.comでは、Webhook/push通知のサポートはありますか?
-
[解決済み] JSONの文字エンコーディング - UTF-8はブラウザでよくサポートされていますか、それとも数字のエスケープシーケンスを使用すべきですか?
-
[解決済み] HTTP GETリクエストの最大長
-
[解決済み】メッセージキューとウェブサービスは?[をご紹介します。]
-
[解決済み】P99のレイテンシーって何ですか?
-
[解決済み】APIとウェブサービスの比較【終了しました
-
[解決済み] Web APIとWebサービスの違いは何ですか?