Enterprise Distributed Application Service (EDAS) は、Apache Dubbo マイクロサービスフレームワークをサポートしています。Apache Dubbo マイクロサービスを EDAS にデプロイするには、依存関係を追加し、構成を変更するだけで済みます。これにより、非侵襲的な方法でマイクロサービスをデプロイできます。デプロイ後、エンタープライズレベルのマイクロサービスアプリケーションのホスティング、マイクロサービスガバナンス、監視とアラート、アプリケーション診断など、EDAS の機能を使用できます。
アーキテクチャ
オープンソースの Dubbo には、2.6.x と 2.7.x の 2 つの主要なバージョンがあります。
- Dubbo 2.6.x は広く使用されており、今後もメンテナンスは継続されますが、新機能の更新はありません。
- Dubbo 2.7.x は Dubbo の最新バージョンであり、新機能でアップグレードされます。
Dubbo 2.7.x を使用することをお勧めします。Dubbo 2.6.x を使用している場合は、新機能を使用するために Dubbo 2.7.x に移行することをお勧めします。


次のプロセスは、Dubbo マイクロサービスフレームワークのワークフローを示しています。
- 起動時に、プロバイダーはレジストリに登録します。
- 起動時に、コンシューマーは必要に応じてレジストリからサービスをサブスクライブします。
- レジストリは、プロバイダーアドレスのリストをコンシューマーに返します。プロバイダーが変更された場合、レジストリは変更されたデータをコンシューマーにプッシュします。
- コンシューマーは、ソフトウェアの負荷分散アルゴリズムに基づいて、プロバイダーアドレスのリストからプロバイダーを選択します。
Dubbo アプリケーションを EDAS にホストする意味
Dubbo アプリケーションを EDAS にホストする際の中核は、レジストリ、構成センター、およびメタデータセンターをホストすることです。
次の図は、ホストする前後のアーキテクチャを示しています。

- 前:
アプリケーションを EDAS にホストする前は、レジストリ、構成センター、およびメタデータセンターを構築および維持する必要があります。レジストリは、ZooKeeper や Nacos などのオープンソースコンポーネントです。構成センターとメタデータセンターは、Dubbo Admin に含まれています。
- 後:
- アプリケーションを EDAS にホストした後、EDAS は、レジストリ、構成センター、およびメタデータセンターを含む Dubbo サービスガバナンスプラットフォームと Nacos を提供します。これらのコンポーネントを構築または維持したり、可用性を監視したりする必要はありません。セルフマネージドの Dubbo Admin よりも強力なマイクロサービスガバナンスプラットフォームを使用できます。
- また、セルフマネージドまたは MSE でホストされている ZooKeeper、Nacos、または Eureka レジストリを引き続き使用し、EDAS が提供するマイクロサービスガバナンス機能を使用することもできます。
| 種類 | オープンソースコンポーネント | EDAS コンポーネント | ホスティングの説明 |
| レジストリ |
|
| アプリケーションを EDAS にデプロイすると、レジストリに自動的に接続されます。 |
| 構成センター |
| Nacos (推奨) | アプリケーションを EDAS にデプロイすると、構成センターに自動的に接続されます。 |
| メタデータセンター |
| Nacos (推奨) | アプリケーションを EDAS にデプロイすると、メタデータセンターに自動的に接続されます。 |
Dubbo アプリケーションを EDAS にホストするメリット
Dubbo アプリケーションを EDAS にホストすると、アプリケーションのロジックの構築方法にのみ集中する必要があります。レジストリ、構成センター、およびメタデータセンターの作成または維持に注意を払う必要はありません。また、自動スケーリング、スロットリングとデグラデーション、監視、マイクロサービスガバナンスなどの EDAS 機能をさまざまな管理目的で利用できます。ホスティングプロセス全体は完全に透過的です。学習したり、開発コストを増やす必要はありません。ホスティングのメリット:
- コスト: EDAS は、サービス検出と構成管理機能を提供するため、Eureka、ZooKeeper、Consul などのミドルウェアコンポーネントを維持する必要がなくなります。
- デプロイ: EDAS は、起動パラメーターの柔軟な構成、プロセスの可視化、サービスの正常な接続と切断、バッチ公開を提供するため、アプリケーションデプロイを構成、クエリ、および管理できます。
- サービスガバナンス: EDAS は、サービスクエリ、条件付きルーティング、ブラックリストとホワイトリスト、ラベルベースのルーティング、動的構成、負荷分散構成、重み付け構成、集中構成管理を提供するため、サービスを包括的に管理できます。
- 自動スケーリング: EDAS は自動スケーリング機能を提供するため、トラフィックのピークとオフピークに基づいてアプリケーションを動的にスケールインまたはスケールアウトできます。
- スロットリングとデグラデーション: EDAS は、アプリケーションの高可用性を確保するために、スロットリングとデグラデーション機能を提供します。
- 監視: EDAS は、Application Real-Time Monitoring Service (ARMS) の一部の監視機能を統合しています。インスタンス情報クエリに加えて、EDAS は、マイクロサービストレースクエリ、サービスコールトポロジクエリ、低速 SQL クエリなどの高度な監視機能を提供します。
関連操作
EDAS は、Dubbo マイクロサービス指向アプリケーションを開発するための複数の方法をサポートしています。
Spring Boot を使用して Dubbo マイクロサービス指向アプリケーションを開発する方法については、Spring Boot を使用して Dubbo マイクロサービスアプリケーションを開発する を参照してください。