微服务(分布式架构)

一、微服务:服务拆分+远程调用+服务集群

定义:一种经过良好架构设计的分布式架构方案
目的:高内聚、低耦合
缺点:复杂
名词:心跳、粒度

(一)服务:1个业务=1个项目=1个服务

服务拆分粒度:应用程序的不同功能单元(服务)进行拆分????????????

(二)特征:高内聚、低耦合

1、单一职责:

1个服务对应1个业务能力

2、面向服务:

微服务对外暴露业务接口

3、自治:

团队独立、技术独立、数据独立、部署独立

4、隔离性强:

服务调用做好隔离、容错、降级,避免出现级联问题

(三)组件:

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

(四)服务拆分:避免重复、数据库独立

定义:功能模块拆分、一个功能模块一个服务、每个服务独立的数据库

1、避免重复开发:

不同微服务、不要重复开发相同业务

2、数据库独立:

微服务数据独立、不要访问其它微服务的数据库

3、业务暴露接口:实现远程调用

微服务可以将自己的业务暴露为接口、供其它微服务调用

(五)远程调用:业务暴露接口、请求调用

1、业务暴露接口:远程调用

微服务可以将自己的业务暴露为接口、供其它微服务调用

二、微服务实现:SpringCloud

组件:SpringCloudAlibaba
实现:SpringBoot自动装配

三、微服务实现:SpringCloudAlibaba

实质:实现部分SpringCloud——SpringCloud的组件
组件:SpringCloudAlibaba

四、微服务实现:Dubbo

猜你喜欢

转载自blog.csdn.net/qq_25482375/article/details/124074951