微服务(分布式架构)

微服务是一种将大型应用拆分为独立、高内聚、低耦合的服务的架构方式,每个服务对应单一业务能力。关键组件包括注册中心、负载均衡、服务调用、熔断器、服务网关、配置中心等。服务拆分强调避免重复开发和数据库独立,通过远程调用实现业务交互。SpringCloud和SpringCloudAlibaba以及Dubbo是常见的微服务实现框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

(一)服务: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值