1.リモート通話
一般に、サービス間のリモート呼び出しには HTTP と RPC の 2 つの方法があります。HTTP には主に Httpclient、OkHTTP、RestTemplate、Feign (RestTemplate パッケージは負荷分散のためにリボンと統合できます) などが含まれ、RPC には主に dubbo、grpc、brpc、motan、rpcx、thrift などが含まれます。この記事では主に、springcloud フレームワークで一般的に使用されるリモート サービス呼び出しフレームワーク Feign と Dubbo を比較します。
2. リモート通話の比較
比較項目 | ふりをする | ダボ |
---|---|---|
プロトコル | http | rpc/rmi/http |
パフォーマンス | 一般的 | 高い |
接続 | 短い接続 | 長い接続 |
高い同時実行性 | 適切ではありません | 適切 |
負荷分散 | ポーリング/ランダム/ResponseTime 重み付け (クライアント レベル アルゴリズム) | ランダム/ポーリング/アクティビティ/一貫性ハッシュ (インターフェイスレベルのアルゴリズムに正確) |
耐障害性 | ヒューズ機構 | フェイルオーバー/フェイルファスト/ブロードキャスト/フォーク (再試行、タイムアウトの導入) |
Spring Cloud の選択では、alibaba は dubbo (rpc または http) を使用し、netflix は feign (http) を使用します。
注: dubbo が rpc を使用する場合、alibaba サイドカーを通じてクロスランゲージを実現できます。
関連する推奨事項:
1.登録センターの選択の比較
2.構成センターの選択の比較
3.ゲートウェイの選択の比較
4.リモート コールの選択の比較
5.分散データの整合性
6.メッセージ キューの選択の比較
7.監視ツールの選択のコントラスト
8.完全なリンク トラッキングの比較モデルの選択