ブロッキングとノンブロッキング
ブロッキング:AはプログラムBを呼び出し、その戻り待ちを、待機中のスレッドAは、さらなる措置なしに、占有されています。
ノンブロッキング:プログラムは、プログラムBを呼び出し、スレッドが占有されていません。
ブロッキング- 「非ブロッキング最も一般的な解決策:バッファ、バッファが順次リクエストを仕込み、A及びBに関わらず実行が完了し、順次Bによって処理Aに戻るかどうかの
同期および非同期
同期:すべてのタスクを実行するために、スレッド
非同期:複数のスレッドが並列タスクで実行
同期- 「非同期最も一般的な解決策:マルチスレッド、ターンは、スレッドプールの導入ながら、タスクを実行するために複数のスレッドを開始し、スレッドは、物流コストを削減し続け、破壊が生じました。
多くの人が聞いたことがあるメッセージキュー、メッセージングミドルウェアMQ、ESBエンタープライズ・サービス・バスようにしています。
エンタープライズサービスバスESBは、すべての命令が先にパイプラインの流れに沿って、要求にスローすることができ、パイプラインを取ることで、単純です。メッセージキューMQ技術は、RabbitMQの、ActiveMQの、カフカが好きなように、使用されています。
時間のソフトテストの建築家で、私の前にケーススタディでは、ESB、SOAの比較の利点について話をする問題がありました。私はESBを使用するように工夫されている論文では、技術的なフレームワークがRabbitMQのです。
私は、私は「答えは言う、覚えて非同期呼び出し」である必要があり、数ヶ月後、私はそれが間違っていた実現し、「ノンブロッキング関係とマルチスレッドが、コールの終わり何がないため、」。 "ただ、コントロールを持っていないメッセージ・バスをスローするように、高可用性と最終的な一貫性を達成するために、APでCAP、ノンブロッキング」待っていません。
ケーススタディ試験の結果は、5つの点をチェックされている試験に合格しませんでした。
上記のメッセージキューは、CAP、その後の話のように、分散します。