1.マイクロサービス:サービス分割+リモートコール+サービスクラスター
定义:一种经过良好架构设计的分布式架构方案
目的:高内聚、低耦合
缺点:复杂
名词:心跳、粒度
(1)サービス:1ビジネス=1プロジェクト=1サービス
服务拆分粒度:应用程序的不同功能单元(服务)进行拆分????????????
(2)特徴:高い凝集度、低い結合度
1.単一責任:
1个服务对应1个业务能力
2.サービス指向:
微服务对外暴露业务接口
3.自律性:
团队独立、技术独立、数据独立、部署独立
4.強力な分離:
服务调用做好隔离、容错、降级,避免出现级联问题
(3)コンポーネント:
1.登録センター(監視ノード情報を維持):サービス登録検出フレームワーク
Eureka 、Zookeeper、Consul、Nacos、Redis
2.負荷分散:インプロセスロードバランサー
Ribbon、Nignx、LoadBalancer
3.サービスリモートコールマッピング:
Feign(http协议) 、Open Feign、Dubbo协议
4.フロー制御/劣化/保護:ヒューズ(サーキットブレーカー):サービス劣化ヒューズ
Alibaba Sentinel、Hystrix、Resilience4j
服务监控和保护
5.ユニファイドサービスゲートウェイルーティング(エントリ):
Zuul、SpringCloudGateway
服务监控和保护
6.統合構成センター:
Nacos、 SpringcloudConfig、
7.メッセージバス:
Nacos、Bus
服务监控和保护
8.サービスリンクの監視
Zipkin、Sleuth
(IV)サービスの分割:重複、データベースの独立性を回避する
定义:功能模块拆分、一个功能模块一个服务、每个服务独立的数据库
1.繰り返しの開発を避けます。
不同微服务、不要重复开发相同业务
2.データベースの独立性:
微服务数据独立、不要访问其它微服务的数据库
3.ビジネス露出インターフェース:リモートコールを実現
微服务可以将自己的业务暴露为接口、供其它微服务调用
(5)リモート呼び出し:ビジネスエクスポージャーインターフェイス、要求呼び出し
1.ビジネス露出インターフェース:リモートコール
微服务可以将自己的业务暴露为接口、供其它微服务调用
2.マイクロサービスの実装:SpringCloud
组件:SpringCloudAlibaba
实现:SpringBoot自动装配
3.マイクロサービスの実装:SpringCloudAlibaba
实质:实现部分SpringCloud——SpringCloud的组件
组件:SpringCloudAlibaba
4.マイクロサービスの実装:Dubbo