目次
- マイクロサービスを理解する
- 分散サービスアーキテクチャのケース
- ユーラカ登録センター
- リボンの負荷分散原理
- ナコス登録センター
マイクロサービスの理解 - サービス アーキテクチャの進化
モノリシックアーキテクチャ
モノリシック アーキテクチャ: ビジネスのすべての機能が 1 つのプロジェクトで開発され、展開用に 1 つのパッケージにパッケージ化されます。
利点:
- シンプルな構造
- 導入コストが低い
短所:
- 高結合
分散アーキテクチャ
分散アーキテクチャ: システムはビジネス機能に応じて分割され、各ビジネス モジュールはサービスと呼ばれる独立したプロジェクトとして開発されます。
利点:
- サービス結合を減らす
- サービスのアップグレードと拡張に貢献
サービスガバナンス
分散アーキテクチャに関して考慮すべき問題:
- サービス分割の粒度はどれくらいですか?
- サービスクラスターアドレスを維持するにはどうすればよいですか?
- サービス間のリモート呼び出しを実装するにはどうすればよいですか?
- サービスの健全性ステータスをどのように認識するか?
マイクロサービス
マイクロサービスは、適切に設計されたアーキテクチャを備えた分散アーキテクチャ ソリューションです。マイクロサービス アーキテクチャの特徴は次のとおりです。
- 単一の責任: マイクロサービス分割の粒度は小さく、各サービスは固有のビジネス機能に対応するため、単一の責任を達成し、繰り返しのビジネス開発を回避できます。
- サービス指向: マイクロサービスはビジネス インターフェイスを外部に公開します
- 自律性: 独立したチーム、独立したテクノロジー、独立したデータ、独立した展開
- 強力な分離: サービス コールは分離され、フォールト トレラントで、ダウングレードされ、連鎖的な問題を回避する必要があります。
まとめ:
モノリシックアーキテクチャの特徴?
- シンプルで便利、高度に結合されているが拡張性が低く、小規模なプロジェクトに適しています。例: 学生管理システム
分散アーキテクチャの特徴?
- 疎結合で拡張性は良いが、構造が複雑で難しい。JD.com や Taobao などの大規模なインターネット プロジェクトに適しています
マイクロサービス: 優れた分散アーキテクチャ ソリューション
- 利点: 分割の粒度が小さく、サービスの独立性が高く、結合度が低い
- 短所: 構造が非常に複雑で、運用保守、監視、導入の難易度が高くなる
マイクロサービスの理解 - マイクロサービス テクノロジの比較
マイクロサービス構造
マイクロサービス ソリューションを実装するには技術的なフレームワークが必要であり、世界中のインターネット企業が独自のマイクロサービス実装テクノロジを積極的に試しています。中国で最もよく知られているのは SpringCloud と Alibaba の Dubbo です。
マイクロサービステクノロジーの比較
ダボ | スプリングクラウド | SpringCloudアリババ | |
---|---|---|---|
登録センター | 飼育員、レディス | エウレカ、執政官 | ナコス、エウレカ |
サービスリモートコール | ダボプロトコル | 偽装 (http プロトコル) | ダボ、フェイン |
構成センター | なし | SpringCloudConfig | SpringCloudConfig、Nacos |
サービスゲートウェイ | なし | SpringCloudGateway、ズール | SpringCloudGateway、ズール |
サービスの監視と保護 | dubbo-admin、弱い機能 | ヒストリックス | センチネル |
ビジネスニーズ
1.スプリングクラウド+フェイン
- Spring Cloud テクノロジースタックを使用する
- サービスインターフェースはRestfulスタイルを採用
- サービスコールはFeign方式を採用
2.SpringCloudAlibaba+Feign
- SpringCloudAlibaba テクノロジー スタックを使用する
- サービスインターフェースはRestfulスタイルを採用
- サービスコールはFeign方式を採用
3. SpringCloudAlibaba + ハンマー
- SpringCloudAlibaba テクノロジー スタックを使用する
- サービスインターフェースはDubboプロトコル標準を採用
- サービスコールはDubbo方式を採用
4.ダボオリジナルモード
- Dobbo の古い技術システムに基づいています
- サービスインターフェースはDubboプロトコル標準を採用
- サービスコールはDubbo方式を採用
マイクロサービスを理解する - SpringCloud
スプリングクラウド
- SpringCloud は現在、中国で最も広く使用されているマイクロサービス フレームワークです。公式ウェブサイトのアドレス:http://spring.io/projects/spring-cloud。
- SpringCloud は、さまざまなマイクロサービス機能コンポーネントを統合し、SpringBoot に基づいてこれらのコンポーネントの自動アセンブリを実現するため、すぐに使用できる優れたエクスペリエンスを提供します。
サービス レジストリの検出:
- エウレカ、ナコス、コンスル
統合された構成管理:
- SpringCloudConfig、Nacos
サービスリモートコール:
- オープンフェイン、ダボ
統合ゲートウェイ ルーティング:
- SpringCloudGateway、ズール
サービスリンクの監視:
- ジプキン、スルース
フロー制御、ダウングレード、保護:
- ハイスティックス、センチネル