ホームページ  >  記事  >  バックエンド開発  >  PHPマイクロサービスとは何ですか

PHPマイクロサービスとは何ですか

王林
王林オリジナル
2019-09-18 17:57:046785ブラウズ

PHPマイクロサービスとは何ですか

#マイクロサービスとは何ですか?

マイクロサービスとは、完全なシステムをビジネス機能に応じて独立したサブシステムに分割することです。マイクロサービス構造では、各サブシステムは何かのサービスと呼ばれます。」これらのサブシステムは Web コンテナ内で独立して実行でき、RPC を通じて相互に通信できます。

たとえば、オンライン モールを開発する必要があるとします。マイクロサービスの考え方によれば、機能モジュールに応じて、ユーザーサービス、製品サービス、注文サービス、バックグラウンド管理サービス、データ分析サービスなどの複数の独立したサービスに分割する必要があります。これらのサービスはそれぞれ独立したプロジェクトであり、独立して実行できます。サービス間に依存関係がある場合、それらは RPC を通じて呼び出されます。

利点:

#1. システム間の結合が大幅に軽減され、システムを独立して開発、展開、および実行できるようになります。システム間の境界が非常に明確になり、デバッグが非常に容易になり、開発効率が大幅に向上します。

2. システム間の結合が軽減され、システムの拡張が容易になります。当社は、対象を絞った方法で特定のサービスを拡張できます。このモールでは大規模なプロモーションが行われ、注文量が大幅に増加する可能性があるため、注文システムと商品システムのノード数を計画的に増やすことができますバックエンド管理システムとデータ分析システムについては、 、ノードの数は変わりません。平準化するだけです。

3. サービスの再利用性が高くなります。例えば、ユーザーシステムを別サービスとして利用する場合、開発を繰り返すことなく、同社のすべての製品がこのシステムをユーザーシステムとして利用できます。

そこで問題が発生します。マイクロサービス構造を採用すると、完全なシステムは多くの独立したサブシステムで構成される場合があります。業務量が徐々に増大すると、これらのサブシステム間の関係が複雑になります。特定のサービスの処理能力を的を絞った方法で強化する一方で、一部のサービスは複数のノードで構成されるクラスター モデルによってサポートされる場合があり、これにより運用とメンテナンスの難易度が大幅に増加することは間違いありません。マイクロサービスの考え方は良いのですが、開発や運用保守の複雑さが高すぎます。これらの問題を解決するために、アリババの Dubbo が誕生しました。

Dubbo

Dubbo はマイクロサービス システムのコーディネーターです。このシステムには 3 つのタイプがあります。役割は次のとおりです。プロバイダー(以下、プロバイダー)、サービスコンシューマー(以下、コンシューマー)、登録センター。

Dubbo の jar パッケージを使用する場合は、プロジェクトに導入する必要があります。つまり、各サービスが Dubbo の jar パッケージを導入する必要があります。これらのサービスが初期化されると、Dubbo は現在のシステムで公開する必要があるサービスと、現在のシステムの IP およびポート番号を登録センターに送信し、登録センターがそれらを記録します。これがサービス公開のプロセスです。同時に、システムの初期化時に、Dubbo は現在のシステムが参照する必要があるサービスもスキャンし、これらのサービスの IP 番号とポート番号を登録センターに要求します。その後、システムは正常に実行できるようになります。システム A がシステム B のサービスを呼び出す必要がある場合、A は B との RPC チャネルを確立し、システム B 上の対応するサービスを呼び出します。

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHPマイクロサービスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。