バージョンアップ情報
Dubbo情報
Dubboとは
Dubbo(ダボー)はJavaベースのオープンソースRPC(リモートプロシージャコール)フレームワークです。
Dubboは、2008年にAlibaba社の社内システムとして開発が始まり、2011年にオープンソース化され、2018年2月に Apache Incubator に入ることによりApache Dubbo となり、2019年5月には Apache Software Foundation のTLP(トップレベルプロジェクト)に指定され、2021年6月にはクラウドネイティブマイクロサービスに対応したApache Dubbo 3 がリリースされています。
Dubbo は、Alibaba Group をはじめ China Life、China Telecom、Dangdang、Didi Chuxing、Haier、Industrial and Commercial Bank of China などの150以上の企業で使用されています。
主な特徴
Dubboは以下のような特徴を持っています。
RPCベースの透過的なインタフェース |
RPCベースの透過的なインタフェースをユーザーに提供します。 |
---|---|
インテリジェンスロードバランシング |
複数のロードバランシング戦略が用意されており、スループットの向上が望めます。 |
オートマチックサービスレジストレーションとディスカバリー |
複数のサービスレジストリをサポートしており、サービスを容易に検知できます。 |
高度な拡張性 |
マイクロカーネルとプラグインの設計により、サードパーティの実装で簡単に拡張できます。 |
ランタイムトラフィックルーティング |
実行時にさまざまなルールに従ってトラフィックをルーティングできるため、ブルーグリーンデプロイメント、データーセンター対応ルーティングなどをサポートできます。 |
サービスガバナンスを視覚化 |
クエリサービスメタデータ、ヘルスステータス、統計情報などのサービスガバナンスとメンテナンスのための豊富なツールを提供します。 |
Dubboのアーキテクチャ
Dubboは以下のようなアーキテクチャになっています。
各ノードの役割
ノード |
役割 |
---|---|
Provider |
リモートサービスを公開します。 |
Consumer |
リモートサービスを呼び出します。 |
Registry |
サービスの検出と構成を担当します。 |
Monitor |
サービスの呼び出し数と消費時間をカウントします。 |
Container |
サービスの有効期限を管理します。 |
0. Container はロード、サービスプロバイダーの起動を担当します。
1. Provider はサービス開始時に Register にサービスを登録します。
2. Consumer は開始時に Register から必要なサービスを取得します。
3. Register は Provider リストを Consumer に渡します。リストが変更された場合は変更データを Consumer にプッシュします。
4. Consumer はソフトロードバランシングアルゴリズムに基つき Provider を選択し、呼び出しを実行します。失敗した場合は別の Provider を選択します。
5. Consumer と Provider は、サービス呼び出し回数とメモリの消費時間をカウントし、統計を毎分モニターに送信します。
Dubbo 3 の新機能
新しいサービス検出メカニズム
- パフォーマンスの向上
-
Spring Cloud、Kubernetes、gRPCなど、他のマイクロサービスとの接続をサポート
Triple:HTTP/2に基づく新しいプロトコル
- gRPCとの互換性
- 多言語対応:Protobufを使用したデータエンコードが可能
- リクエストストリーム、レスポンスストリーム、双方向ストリームをサポート
クラウドネイティブ
- Kubernetes、VM、およびContainerでのDubbo3.xアプリケーションのデプロイ
類似プロダクト
Dubbo のような RPC フレームワークは他に gRPC、Thriftなどがあります。
動作環境
Dubbo 3.2.x |
Java 1.8以降 |
---|---|
Dubbo 3.1.x |
Java 1.8以降 |
Dubbo 3.0.x |
Java 1.8 |
Dubbo 2.7.x |
Java 1.8 |
Dubbo 2.6.x |
Java 1.6 |
Dubbo 2.5.x |
Java 1.6 ※2019年6月にサポート終了 |
Dubboのライセンス
Dubbo は、Apache2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Spring Framework
スプリングフレームワーク。Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。
-
サポート対象
Istio
イスティオ。マイクロサービスをセキュアにマネージメントするためのマイクロサービス管理フレームワークです。
-
サポート対象
gRPC
ジーアールピーシー。Googleが2015年に開発したオープンソースのRPCです。