微服务框架最全详解(图文全面总结)
ccwgpt 2024-10-18 04:32 22 浏览 0 评论
大家好,我是mikechen。
微服务框架主要有Spring Cloud、Spring Cloud Alibaba、ServiceMesh等,下面我会全面详解微服务框架@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
Spring Cloud微服务框架
Spring Cloud 是一个基于 Spring Boot 的微服务架构开发工具,它提供了一系列的工具和组件,使得开发者能够更容易地构建、部署和管理分布式系统中的微服务。
SpringCloud的整体架构,如下图所示:
1.Eureka注册中心
Eureka 是一个服务注册和发现的组件,它允许微服务在注册时提供服务的信息,并在需要调用其他服务时进行发现。
如下图所示:
上图简要描述了Eureka的基本架构,由如下角色组成:
1.Eureka Server
Eureka Server 是服务注册中心,用于集中管理所有微服务的注册与发现。
可以有多个 Eureka Server 实例,它们之间通过复制来实现高可用和负载均衡。
2.Eureka Consumer
Eureka Consumer是微服务的注册客户端,用于向 Eureka Server 注册自己的信息(服务名、IP 地址、端口号等)。
Eureka Consumer定期向 Eureka Server 发送心跳以保持注册信息的有效性。
3.服务注册
微服务启动时,Eureka Client 将自身的信息注册到 Eureka Server 上,包括服务名、IP 地址、端口号等。
Eureka Server 维护了一个服务注册表,记录了所有注册的服务实例信息。
4.服务发现
微服务通过 Eureka Server 进行服务发现,获取其他微服务的实例信息。
Eureka Consumer通过查询 Eureka Server 上的注册表,得知其他服务的位置信息,从而实现服务之间的通信。
2.Zuul 服务网关
Zuul主要用于微服务架构中的路由、过滤、负载均衡等功能,充当了微服务系统的入口。
Zuul 类似我们小区的保安,用于保护基本的安全等的作用。
如下图所示:
使用 Zuul,开发者可以将微服务的访问进行统一管理,实现更好的路由、过滤、负载均衡等功能。
3.Hystrix断路器
Hystrix 实现了熔断器模式,当一定时间内失败的请求达到一定阈值时,Hystrix 将断开对该服务的请求,防止服务的连锁故障。
如下图所示:
Hystrix 熔断器有三个状态:关闭(Closed)、半开(Half-Open)、打开(Open)。
- 在关闭状态下,所有请求都正常执行;
- 在打开状态下,所有请求都会被熔断,直接进入降级逻辑;
- 半开状态用于试探性地允许一部分请求通过,以检测依赖服务是否已经恢复。
4.Ribbon负载均衡
Ribbon 的主要作用:是在微服务架构中,提供客户端负载均衡的能力。
如下图所示:
比如:当某个服务实例出现故障或不可用时,Ribbon 能够自动切换到其他可用的服务实例,确保系统的健壮性。
除此之外,Ribbon 还提供了多种负载均衡策略,如:轮询、随机、权重等,以实现请求的分发到多个服务实例。
开发者可以根据具体的需求选择适当的负载均衡策略,也可以通过自定义规则来满足特定场景的需求。
5.Feign远程调用方式
Feign 是一个声明式的 HTTP 客户端工具,它是 Spring Cloud 生态系统的一部分,用于简化微服务之间的服务调用。
Feign 提供了一种简洁、优雅的方式来定义和调用微服务之间的接口,减少了开发者编写冗长的 HTTP 客户端代码的负担。
如下图所示:
Feign 支持多种 HTTP 请求方法,如 GET、POST、PUT、DELETE 等,通过不同的注解来实现。
Dubbo微服务框架
Dubbo 是一种高性能的、基于 Java 的开源微服务框架,它由阿里巴巴公司提供。
Dubbo主要包含如下几个核心组件:
1.提供者(Provider)
提供者是实际提供服务的服务端应用,Dubbo 通过提供者将服务注册到服务注册中心,并等待消费者的调用。
2.消费者(Consumer)
消费者是服务的调用方,通过服务注册中心获取服务提供者的地址,并发起远程调用。
3.注册中心(Registry)
注册中心用于管理服务的注册和发现,Dubbo 支持多种注册中心,如 ZooKeeper等。
4.监控中心(Monitor)
监控中心用于监控和统计服务的调用情况、性能指标等,比如:Dubbo Admin。
5.协议(Protocol)
Dubbo 支持多种远程调用协议,包括 :Dubbo 协议、HTTP 协议、RMI 协议等。
Dubbo 提供了一套完整的服务治理解决方案,包括服务注册与发现、负载均衡、远程调用、容错处理等功能。
Spring Cloud Alibaba微服框架
Spring Cloud Alibaba是阿里研发的一套微服务架构的落地技术方案,它整合了 Spring Cloud 和 Alibaba 的一系列中间件,提供了一套完整的微服务解决方案。
Spring Cloud Alibaba体系,包含如下图所示:
1.Sentinel流量控制
Sentinel 用于进行流量控制、熔断降级等操作,保护微服务不受恶意请求或者异常情况的影响。
如下图所示:
2.Nacos服务配置
Nacos 提供了一套完整的解决方案,旨在解决微服务架构中服务注册与发现、配置管理等核心问题。
如下图所示:
Nacos 作为注册中心,用于管理微服务的注册与发现,是SpringCloudAlibaba架构中最重要的组件。
3.RocketMQ消息中间件
RocketMQ 旨在为大规模分布式系统提供高性能、高可靠性、可伸缩性的消息通信服务。
RocketMQ 被设计为高吞吐、低延迟的消息中间件,适用于需要高性能消息传递的场景。
主要包含:
- Producer:Producer 是消息的生产者,负责产生并发送消息到 RocketMQ Broker。
- Consumer:Consumer 是消息的消费者,负责订阅并处理 Broker 上的消息。
- Broker:Broker 是 RocketMQ 的消息存储服务器,负责存储和传递消息。
- Topic:Topic 是消息的分类标签,Producer 发送消息时选择一个 Topic,而 Consumer 订阅一个或多个 Topic。
4.Dubbo远程通信
Dubbo 提供了一套完整的分布式服务治理解决方案,包括服务注册与发现、负载均衡、远程调用、容错处理等功能。
5.Seata分布式事务
Seata 提供了分布式事务的协调服务和事务处理框架,帮助开发者解决分布式事务的一致性问题。
Seata事务管理中有三个重要的组件角色:
1.TC(Transaction Coordinator)
TC 是 Seata 中的事务协调者,负责全局事务的协调和控制。
2.TM(Transaction Manager)
TM 是 Seata 中的事务管理器,负责全局事务的启动、提交和回滚。
3.RM(Resource Manager)
RM 是 Seata 中的资源管理器,负责管理分支事务的生命周期,与本地事务存储交互。
Service Mesh微服务框架
Service Mesh 是一种用于处理微服务架构中,服务间通信的新型架构模式。
Service Mesh ,可以说是目前下一代微服务架构。
如下图所示:
Service(服务)和Mesh(网格),它描述了服务间的依赖形态,就像下面这张网一样。
Service Mesh 通常采用 Sidecar 模式,通过在每个服务实例旁边部署一个 Sidecar 代理来实现对通信的控制。
如下图所示:
Sidecar 是一种用于处理服务实例通信的轻量级代理,它附属在每个微服务实例旁边,负责管理和控制服务间的通信。
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
相关推荐
- css布局方案汇总(28个实例图文并茂)
-
简介布局在我们前端日常开发来说是非常重要的,一个好的布局能简化代码的同时还能提高网页的性能。常见的布局方法有浮动(float)布局、绝对定位(position)布局、表格布局(table)、弹性(fl...
- 十款免费的CSS框架加速Web开发
-
Pure这是Yahoo最新推出的一款CSS框架,它只有HTML和CSS,没有使用任何JavaScript语言。总大小只有4.4kb,但功能却非常丰富,支持响应式样式和各种导航、表格、表单、按钮、网格和...
- Tailwind CSS 是不是目前世上最好的CSS框架?
-
转载说明:原创不易,未经授权,谢绝任何形式的转载今天看了一篇国外大佬对TailwindCSS的看法,在这里分享给大家,看看大家是否赞同,以下是其相关内容的整理,由于翻译水平有限,欢迎大家讨论和指...
- 下一代 CSS 框架:Mojo CSS,为何如此受欢迎?
-
TailwindCSS推出即受到广大开发者的欢迎,当前Githubstar数已达77.8k。它是一个功能类优先(utility-first)的CSS框架,它提供了一系列功能类,让开发者...
- 常见的几种摄影构图方式
-
摄影构图,是一种在摄影画面中表现结构美、形式美的方式。构图能让摄影主体更加突出,画面更加有序。所以说,构图在摄影中是非常重要的一个环节。无论是前期构图还是后期构图,摄影者都要对构图有一个比较深的了解。...
- 风光摄影10大构图技巧,会用构图,照片更容易好看
-
风光摄影10大构图技巧,会用构图,照片更容易好看先解释一下,为什么会使用构图之后,照片更容易好看?因为,构图是根据很多好看的照片,总结出来的技巧,使用这些构图技巧,就相当于站在了巨人的肩膀上,也就是用...
- 掌握框式构图的摄影技巧,会让摄影爱好者的作品更有魅力!
-
很多摄影爱好者都知道摄影构图中有个框式构图,但大多数人对框式构图的摄影技巧,却一知半解。所以摄影爱好者们有必要更全面、深入的了解,并掌握框式构图,会对你摄影水平的提高更有帮助。【欢迎点击上方关注:金立...
- 这个构图很简洁,但为什么不耐看?
-
摄影爱好者最常犯的错就是过于复杂、主体不明确,但当遇到简单的场景往往又会出现单调、不耐看的状况。为什么会这样?说白了还是观察力不够。下面是本周的摄影入围习作,我们一起来看看这些照片中主体、陪体以及背景...
- 初学者需要记牢的八种常用构图法
-
作者:冯海军摄影中,构图很关键,决定照片是否成功,所以在构图上要加以重视和推敲,虽然说构图无定法,但是也有很多的规律可循,以下列举几种常用构图,会对初学者有很大的帮助。多彩刘卫洲摄苏州姑苏俱乐部(...
- 构图这件事不难!掌握14种构图模式就稳了
-
如果说视觉元素是视觉信息的载体,那么构图就是视觉元素的载体。没有适当形式的构图对视觉元素有机、有序地承载,平面设计将无法传达预定的设计意图和视觉信息。因此,对于平面设计而言,构图是平面设计不可或缺的重...
- 框架构图如何使用?
-
1分钟教你用手机拍大片。今天我们利用框架构图,在不同的运镜方法下拍摄。·首先将手机贴近地面,拍摄人物走过的画面。·然后利用3D效果的背景衬托,将手机贴近地面,以低角度仰拍人物。·最后我们用高清画质来呈...
- 面构图的5种超实用的构图形式 前景构图,框架构图,填充构图
-
面构图的5种超实用的构图形式。为什么有的人拍摄的照片好看又舒适?仔细观察会发现他们善用构图。大家好,今天带大家了解摄影中5种超实用的面构图形式。·一、前景构图。前景是构图中的神奇要素,可以提升照片的表...
- 一看就懂!跟着马格南的大师学构图
-
马格南图片社是迄今为止全球最重要的摄影图片社,其网站包涵了太多经典的名字和照片。细细品味这些经典图片,能够学到很多有用的构图手法。跟着大师走,总不会错吧?前后景的运用这似乎是非常常见的一种手法,仔细看...
- 这才是框架构图,有想法!能给你启发么?
-
框架构图大家并不陌生,但并不是有一个框就行了。框架构图用得不好,就很死板生硬,给人感觉很假。如果你理解透了,拍出的作品不会单调。今天就给大家分享一下框架构图,你看看有哪些妙用?1.广角与长焦的应用长焦...
- 7B小模型写好学术论文,新框架告别AI引用幻觉
-
ScholarCopilot团队投稿量子位|公众号QbitAI学术写作通常需要花费大量精力查询文献引用,而以ChatGPT、GPT-4等为代表的通用大语言模型(LLM)虽然能够生成流畅文本,但...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 若依框架 (41)
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- scrapy框架 (52)
- beego框架 (42)
- java框架spring (43)
- grpc框架 (55)
- 前端框架bootstrap (42)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle v (42)
- oracle字符串长度 (48)
- oracle提交事务 (47)