dubbo の本質: Jar パッケージ、分散フレームワーク、およびリモート サービス呼び出し用の分散フレームワーク。
#1) これは初心者向けのチュートリアルであるため、多くの学生は、分散サービス コールとリモート サービス コールとは何なのか、なぜ分散する必要があるのか、なぜ必要なのかを理解していないはずです。リモート通話。簡単に比較表を描いて説明します (図 2 の図 1 を参照してください。画板に描いていますので、スプレーしないでください)。
考えてみてください。以前はすべてが同じサーバー上にあり、呼び出しメソッドは直接自然に呼び出されていましたが、問題はありませんでした。現在では、需要の増加により、その多くが別々のサーバーに分割されてデプロイされていますが、以前はそれらがすべて 1 つのサーバー上に分散されていたのと比べて、Web 層のサービスは を呼び出しています。サービス層はリモート呼び出しになったのでしょうか?では、以前と同じサーバー上でメソッドを自然に呼び出すにはどうすればよいでしょうか?それを解決するためにダボ。これは以下のダボの利点です。
1. 透過的なリモート メソッドの呼び出しには、ローカル メソッドの呼び出しと同様に、API の侵入を必要としない簡単な構成が必要です。
2. ソフト ロード バランシングおよびフォールト トレランス メカニズムは、イントラネット上の F5 などのハードウェア ロード バランサを置き換えることができ、コストとシングル ポイントを削減します。
3. 自動サービス登録と検出。サービス プロバイダーのアドレスを書き留める必要がなくなり、登録センターはインターフェイス名に基づいてサービス プロバイダーの IP アドレスを照会し、サービス プロバイダーをスムーズに追加または削除できます。 。 (以下で説明します)
Dubbo は、完全な Spring 構成メソッドを使用して、アプリケーションに API を侵入させることなくアプリケーションに透過的にアクセスします。Spring を使用する必要があるのは、Spring のスキーマ拡張に基づいて Dubbo の構成をロードすることだけです。
彼のアーキテクチャ図を説明する前に、いくつかの概念を説明しましょう。
ノードの役割の説明:
プロバイダー (プロデューサー): サービスを公開するサービスプロバイダー。
コンシューマ: リモート サービスを呼び出すサービス コンシューマ。
図に示すように、web1234 は service1234 のサービスを呼び出す必要があるため、web1234 がコンシューマーであり、service1234 がプロデューサーであることが簡単に理解できます。
コンシューマが上記に従ってプロデューサーのサービスを呼び出すと、次のようになりますか:
あなたは次のようになります。それを見てめまいがしますか?気絶か否か?気絶か否か?とにかくめまいがした、もっと配信されたらどうなるの? 、したがって、彼が必要です:
レジストリ (登録センター): サービスの登録と検出のための登録センター。ダボは飼育員を推薦します。動物園の飼育員とは何ですか? Zookeeper は、分散システムにおける一貫性処理のためのフレームワークです。詳細については、私の以前の記事を参照してください。つまり、zookeeper は非常に単純で、一貫性処理に使用される単なるフレームワークです。簡単に言うと、ZooKeeper は仲介業者です。不動産の売り手 (生産者) は仲介業者 (登録センター) に物件情報を提供し、不動産を購入したい人 (消費者) は仲介業者に物件リソースのリストを取得します。したがって、私たちのイメージは次のようになります:
これはかなり良くなったと思いませんか?それが十分でない場合は、監視センターも必要です (何に使用しますか? もちろん監視用です。通話が失敗したらどうすればよいですか? 電話が切れたらどうすればよいですか?): モニター: 重要な監視センターサービスの通話回数と通話時間。 (これ以上の描画はありません)
次に、コンテナー内でプロバイダーが実行されます。これは、コンテナーを実行するためのコンテナー サービスと呼ばれます。 (これ以上の描画はありません)
図に示す最終的なダボ アーキテクチャ (0 から開始):
関連する推奨事項:
淘宝網アメーバ アーキテクチャ MySQL 分散データベース環境_MySQL
1 日平均 100 万 PV アーキテクチャの第 4 弾 (分散監視)_MySQL
以上がダボ+ゾーキーパーの基本解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。