百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

微服务框架最全详解(图文全面总结)

ccwgpt 2024-10-18 04:32 29 浏览 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万字《阿里架构师进阶专题合集》里面。

相关推荐

PPT 139 | 粉色渐变小清新春暖花开PPT模板

春暖花开,这是你制作PPT的世界粉色渐变小清新春暖花开PPT模板,共22P适用场合:工作总结/个人汇报/演讲培训等喜欢的可以赞一个更多类似PPT模板,搜【小清新】也可以,在线编辑,一键下载...

框架完整岗位竞聘报告PPT模板

需要源文件de可私!氢元素为您提供PPT模板、PNG元素免费、办公模板。工作述职汇报、计划总结、培训课件、节日庆典、营销策划、商业计划、宣传企业、产品发布、个人简历、毕业答辩、岗位竞聘、护理培训,...

PPT与视频相关的几个操作要点

都知道PPT中可以插入视频,而2010及以上版本插入后还可以对视频做各种处理,另外别忘了还可以直接将PPT导出成视频格式。插入视频方式往PPT中插入视频,除了【插入】|【视频】|【PC上的视频】这种方...

书写主题品管圈汇报PPT模板,主题框架,简约设计,品管圈必备

Hello大家好,我是帮帮。今天跟大家分享一张书写主题品管圈汇报PPT模板,主题框架,简约设计,品管圈必备。有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找...

【教学成果框架图】国家级获奖案例解析与可视化方案(实战版)

教学成果逻辑框架图的绘制精髓总结为“逻辑为骨,视觉为翼”。下面结合具体案例,手把手教你制作既专业又美观的成果框架图。一、设计理念:教育逻辑与视觉传达的融合教学成果框架图需体现三重逻辑:教育目标层(立德...

工作总结PPT模板完整框架 (30)

年中汇报PPT的超强框架来袭,职场人士的必备神器!

这套框架堪称完美,适用于各类工作汇报场景。它逻辑清晰,内容丰富,涵盖个人介绍、工作回顾、业绩成果、问题分析以及未来工作计划等常见汇报模块。PPT已包含600多页,所有元素均可自由编辑,数据图表也能轻松...

三个说话框架,提升逻辑思维,让你清晰表达

#暑期创作大赛#建立清晰的逻辑思维:三个说话框架的力量我们生活在一个充满语言交流的世界中。无论是在学校,工作场所,还是在社交场合,我们都需要有效地表达我们的观点和想法。然而,许多人都有表达上的困扰,他...

《石头记》人物原型故事之逻辑框架(一)

话说空空道人将《石头记》带往人世,又经东鲁孔梅溪醒题《风月宝鉴》,曹雪芹定名《金陵十二钗》,加之警幻仙子提醒防备新谱《红楼梦十二支曲》。蛮以为他人在闲适风月故事之于能够了然背后真实故事,怎耐一万年老怪...

如何搭建高效沟通与精彩演讲的逻辑结构

对于大多数人而言,说话有逻辑这件事难于登天。很多人在演讲、工作汇报中都会遇到诸如“我不知道你在说什么”、“你的重点是什么”、“你说话毫无逻辑”此类的评价,被认为是说话缺乏逻辑的人。那么如何成为一个说话...

「书讯」论证逻辑框架下说理写作模式研究

《论证逻辑框架下说理写作模式研究》作者:金建龙出版日期:2018年11月开本:16开出版社:经济管理出版社小编推荐提升大学生批判意识和理性说理能力是新时代背景下高等教育中通识教育和博雅教育的全新探索...

【一元脑花】青少年4D逻辑训练的基本框架

一、核心训练模块多维认知构建资源分布图谱:通过分析社会资源层级与流动规律,建立立体空间认知模型2DOC时空维度整合:将历史局势演变(纵向时间轴)与未来趋势预判(横向可能性轴)结合训练2DOC动态干预系...

提升写作逻辑,这5个框架你搭建好了吗?

每个人都有写作的愿望,也都想表达心中浩荡的情感,但多年过后,许多人依旧卡在“无话可说”“写不出结构”的怪圈里。有人慨叹:“浮云一别后,流水十年间”,梦想与现实总有一道沟壑横亘——此岸是满腹心事,彼岸...

2023年主观题法治思想知识框架图

...

学霸:2天吃透初一语文上学期核心预习知识框架图|暑假弯道超车

学霸:2天吃透初一语文上学期核心预习知识框架图|暑假弯道超车。具体如下:查看作者的个人主页获悉剩余的~...

取消回复欢迎 发表评论: