Enterprise Distributed Application Service (EDAS) は、最小限のコード変更で Apache Dubbo マイクロサービスアプリケーションを非侵入的にホスティングします。いくつかの依存関係を追加し、構成を更新するだけで、EDAS がサービス検出、構成、メタデータ、ガバナンスを管理するため、お客様はビジネスロジックに集中できます。デプロイメント後は、エンタープライズレベルのマイクロサービスアプリケーションのホスティング、マイクロサービスガバナンス、モニタリングとアラート、アプリケーション診断など、EDAS の機能を利用できます。
Dubbo のアーキテクチャ
オープンソースの Dubbo には、2.6.x と 2.7.x の 2 つの主流バージョンがあります。


ランタイムのワークフローは 4 つのステップで構成されます:
プロバイダーの登録。 起動時に、プロバイダーはレジストリに自身を登録します。
コンシューマーのサブスクライブ。 起動時に、コンシューマーはレジストリから必要なサービスをサブスクライブします。
レジストリによる更新のプッシュ。 レジストリは、プロバイダーのアドレスリストをコンシューマーに返します。プロバイダーが変更されると、レジストリは更新されたアドレスを自動的にプッシュします。
コンシューマーによるリクエストのルーティング。 コンシューマーは、ソフトウェア負荷分散アルゴリズムに基づいてアドレスリストからプロバイダーを選択し、リクエストを送信します。
EDAS ホスティングによる置き換え
Dubbo アプリケーションを EDAS でホスティングすると、EDAS が 3 つのコアインフラストラクチャコンポーネント、すなわちレジストリ、構成センター、メタデータセンターを引き継ぎます。これにより、お客様自身でこれらのコンポーネントをデプロイ、メンテナンス、またはモニターする必要がなくなります。

ホスティング前
お客様は、これら 3 つのコンポーネントすべてを個別に構築し、メンテナンスする必要があります:
レジストリ -- ZooKeeper や Nacos などのオープンソースコンポーネント
構成センターとメタデータセンター -- 通常、Dubbo Admin を通じて管理
お客様は、すべてのコンポーネントの可用性、アップグレード、スケーリングに責任を負います。
ホスティング後
EDAS は、レジストリ、構成センター、メタデータセンターとして機能するマネージド Nacos インスタンスを提供します。また、自己管理型の Dubbo Admin を Dubbo サービスガバナンスプラットフォームに置き換えます。
EDAS にデプロイされたアプリケーションは、これらのマネージドコンポーネントに自動的に接続します。
または、自己管理型、あるいは Microservices Engine (MSE) でホストされる ZooKeeper、Nacos、Eureka レジストリを EDAS ガバナンスと並行して引き続き使用することもできます。
コンポーネントの比較
| コンポーネント | オープンソースのオプション | EDAS のオプション | デプロイメント後 |
|---|---|---|---|
| レジストリ | Nacos (推奨)、ZooKeeper (推奨)、etcd、Consul、Eureka | Nacos (推奨)、EDAS レジストリ | 自動接続 |
| 構成センター | Nacos (推奨)、ZooKeeper (推奨)、Apollo | Nacos (推奨) | 自動接続 |
| メタデータセンター | Nacos (推奨)、Redis (推奨)、ZooKeeper | Nacos (推奨) | 自動接続 |
メリット
ホスティングプロセス全体は、お客様に対して完全に透明です。新たな学習や開発コストの増加は必要ありません。
インフラストラクチャコストの削減
EDAS は、組み込みのサービス検出と構成管理を提供するため、Eureka、ZooKeeper、Consul などのミドルウェアをメンテナンスする必要がなくなります。
デプロイメントの効率化
起動パラメーターの設定、デプロイメント進捗の可視化、グレースフルなサービスの接続と切断の有効化、バッチ公開など、すべてを単一のプラットフォームから実行できます。
サービスガバナンス
EDAS は、サービスクエリ、条件付きルーティング、ブラックリストとホワイトリスト、ラベルベースのルーティング、動的構成、負荷分散構成、重み構成、集中構成管理など、包括的なサービスガバナンス機能を提供します。
自動スケーリング
トラフィックのピークと谷に応じて、アプリケーションを動的にスケールインまたはスケールアウトします。
スロットリングとデグラデーション
EDAS は、スロットリングと縮退機能を提供し、アプリケーションの高可用性を確保します。
モニタリング
EDAS は、Application Real-Time Monitoring Service (ARMS) の一部のモニタリング機能を統合しています。インスタンス情報クエリに加えて、以下の機能にアクセスできます:
マイクロサービストレースクエリ
サービス呼び出しトポロジークエリ
低速 SQL クエリ
サポートされる Dubbo のバージョン
| バージョン | ステータス | 新機能 |
|---|---|---|
| Dubbo 2.6.x | メンテナンス中 | なし -- メンテナンスのみ |
| Dubbo 2.7.x | 最新バージョン | はい |
Dubbo 2.7.x の使用を推奨します。Dubbo 2.6.x をお使いの場合は、2.7.x に移行して新機能をご利用ください。
クイックスタート
EDAS は、Dubbo マイクロサービス指向アプリケーションを開発するための複数のメソッドをサポートしています。Spring Boot を使用して EDAS 上に Dubbo マイクロサービスアプリケーションを構築およびデプロイするには、「Spring Boot を使用した Dubbo マイクロサービスアプリケーションの開発」をご参照ください。