微服务(分布式架构)

导读:本篇文章讲解 微服务(分布式架构),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75297.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!