DubboとZookeeperの統合

DubboとZookeeperの統合

分散理論:

「分散システムの原則とパラダイム」という本では、次のように定義されています。「分散システムは、ユーザーには単一の関連システムとして表示される複数の独立したコンピューターのコレクションです」。

分散システムは、ネットワークを介して通信し、共通のタスクを実行するために作業を調整するコンピューターノードのグループで構成されるシステムです。分散システムの出現は、安価で通常のマシンを使用して、単一のコンピューターでは不可能なコンピューティングおよびストレージタスクを完了することです。目的は、より多くのマシンを使用してより多くのデータを処理することです。

分散システムは、ネットワーク上に構築されたソフトウェアシステムです。

まず、単一ノードの処理能力が増加するコンピューティングおよびストレージタスクに対応できず、ハードウェアのアップグレード(メモリの追加、ディスクの追加、より優れたCPUの使用)が非常に高い場合にのみ、損失の価値がない、アプリケーションこれ以上最適化できない場合は、分散システムを検討する必要があります。分散システムで解決すべき問題はスタンドアロンシステムと同じであり、分散システムのマルチノードとネットワーク通信トポロジーのために、スタンドアロンシステムでは解決できない多くの問題が発生します。これらの問題を解決するために、より多くのメカニズムとプロトコルを導入し、より多くの問題をもたらします。

ダボ

インターネットの発展に伴い、Webサイトアプリケーションの規模は拡大を続け、従来の垂直アプリケーションアーキテクチャでは対応できなくなり、分散サービスアーキテクチャとモバイルコンピューティングアーキテクチャが不可欠であり建築学、建築物、建築様式。

ここに画像の説明を挿入
1.シングルアプリケーションアーキテクチャ(ORM)

Webサイトのトラフィックが非常に少ない場合、必要なアプリケーションは1つだけであり、注文の支払いなどのすべての機能が一緒に展開されて、展開ノードとコストが削減されます。短所:単一のシステムアーキテクチャでは、開発プロセスで占有されるリソースが増え、トラフィックが増えるにつれて維持がますます困難になります。

短所

1.パフォーマンスの拡張は難しい

2.共同開発の問題

3.アップグレードとメンテナンスに役立たない

2.垂直アプリケーションフレームワーク(MVC)

垂直アプリケーションアーキテクチャは、単一のアプリケーションアーキテクチャが直面する容量拡張の問題を解決します。トラフィックをさまざまなサブシステムに分散でき、システムのボリュームを制御できるため、開発者間のコラボレーションとメンテナンスのコストがある程度削減されます。開発効率を向上させます。
短所:ただし、垂直アーキテクチャでは、同じロジックコードを継続的にコピーする必要があり、再利用できません。

3.分散アプリケーションアーキテクチャ(RPC)
垂直アプリケーションが増えると、アプリケーション間の相互作用は避けられず、コアビジネスは独立したサービスとして抽出され、安定したサービスセンターが徐々に形成されます。

4.
サービス指向アーキテクチャー(SOA)のさらなる開発に伴い、サービスはますます増え、サービス間の呼び出しと依存関係はますます複雑になっています。サービス指向アーキテクチャー・システム(SOA)が誕生し、こうして生まれました。派生サービスの提供、サービスの呼び出し、接続処理、通信プロトコル、シリアル化方法、サービスディスカバリ、サービスルーティング、ログ出力などの動作をカプセル化するサービスフレームワークなど、一連の対応するテクノロジが開発されました。

テスト環境のセットアップ

Apache Dubbo | ˈdʌbəʊ |は、高性能で軽量のオープンソースJava RPCフレームワークであり、インターフェイス指向のリモートメソッド呼び出し、インテリジェントなフォールトトレランスと負荷分散、自動サービス登録と検出の3つのコア機能を提供します。

ダボの基本概念(コア)

ここに画像の説明を挿入

サービスプロバイダー(プロバイダー):サービスを公開するサービスプロバイダー。サービスプロバイダーが起動すると、提供するサービスをレジストリに登録します。

サービスコンシューマー(コンシューマー):リモートサービスを呼び出すサービスコンシューマー。サービスコンシューマーが開始すると、必要なサービスの登録センターにサブスクライブします。サービスコンシューマーは、ソフト負荷分散アルゴリズムに基づいてプロバイダーアドレスリストから選択します。 1つのプロバイダーが電話をかけ、電話が失敗した場合は別の電話が選択されます。

レジストリ:レジストリはサービスプロバイダーのアドレスリストをコンシューマーに返します。変更があった場合、レジストリは長い接続に基づいて変更データをコンシューマーにプッシュします。

監視センター(監視):消費者とプロバイダーにサービスを提供し、通話数と通話時間をメモリに蓄積し、統計データを1分ごとに監視センターに定期的に送信します

通話関係の説明

lサービスコンテナは、サービスプロバイダーの起動、ロード、および実行を担当します。

lサービスプロバイダーは、起動時に、提供するサービスをレジストリに登録します。

lサービスコンシューマーが開始すると、必要なサービスの登録センターにサブスクライブします。

lレジストリは、サービスプロバイダーのアドレスリストをコンシューマに返します。変更があった場合、レジストリは永続的な接続に基づいて変更データをコンシューマにプッシュします。

lサービスコンシューマーは、プロバイダーアドレスリストから、ソフト負荷分散アルゴリズムに基づいて呼び出すプロバイダーを1つ選択します。呼び出しが失敗した場合は、呼び出す別のプロバイダーを選択します。

lサービスの利用者とプロバイダーは、通話数と通話時間をメモリに蓄積し、統計データを1分ごとに監視センターに定期的に送信します。

ダボ環境建設

  1. ここでは、zookeeperを登録センターとして使用し、バージョンを3.5.7として選択し、zookeeperを解凍します。

    分散サービスフレームワークであるzookeeperは、Apache Hadoopのサブプロジェクトであり、主に、統合ネーミングサービス、状態同期サービス、クラスター管理、分散アプリケーションの管理など、分散アプリケーションでよく発生するデータ管理の問題を解決するために使用されます。構成項目など

  2. /bin/zkServer.cmdを実行します。実行する前に、zoo.cfg構成ファイルを設定してください。クラッシュが発生した場合は、zkServer.cmdファイルを編集して、最後に一時停止を追加してください。このように、エラーが発生しても操作は終了せず、原因の特定を容易にするためにエラーメッセージが表示されます。

  3. zoo.cfg構成ファイルを変更します

    confフォルダーの下にあるzoo_sample.cfgをコピーし、名前をzoo.cfgに変更します。

    いくつかの重要な場所に注意してください。

    dataDir = ./一時データストレージ用のディレクトリ(書き込み可能な相対パス)

    clientPort=2181動物園飼育係のポート番号

    変更が完了したら、zookeeperを再起動します
    ここに画像の説明を挿入

  4. zkCli.cmdでテストする

ここに画像の説明を挿入

  1. ノードを作成し、指定されたノードを取得します
    ここに画像の説明を挿入

  2. dubbo-adminをダウンロードしてインストールします

ダボ自体はサービスソフトウェアではありません。これは実際には、Javaプログラムがzookeeperに接続し、zookeeperを使用してサービスを利用および提供するのに役立つjarパッケージです。

ただし、ユーザーが多くのdubboサービスをより適切に管理および監視できるようにするために、公式は視覚的な監視プログラムdubbo-adminを提供していますが、この監視は、インストールされていなくても使用に影響しません。

1.dubbo-adminをダウンロードします

アドレス:https://github.com/apache/dubbo-admin/tree/master

2.ディレクトリに解凍します

dubbo-admin \ src \ main \ resources \ application.propertiesを変更して、zookeeperアドレスを指定します

server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest

dubbo.registry.address=zookeeper://127.0.0.1:2181

3. cmdを使用して、プロジェクトディレクトリにdubbo-adminをパッケージ化します

mvn clean package -Dmaven.test.skip=true

ここに画像の説明を挿入

4.パッケージ化後にjarパッケージを実行します

java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

[注:動物園管理サービスをオンにする必要があります!

実行が完了したら、http:// localhost:7001 /にアクセスしてみましょう。この時点で、ログインアカウントとパスワードを入力する必要があります。これは、すべてデフォルトのroot-rootです。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_38338409/article/details/118371445
おすすめ