开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Spring Cloud微服务架 Spring Cloud微服务架构设计与开发实战课时1.9—微服务架构中的经典设计模式 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程微服务架构中的经典设计模式 ”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:微服务架构中的经典设计模式  

课程地址:https://developer.aliyun.com/learning/course/60/detail/1112

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


微服务架构中的经典设计模式  


、微服务架构设计模式 

1.业务分解:DDD模式 

2.DataBase PerService每数据库单服务  

3.API Gateway pattern API网关模式 

4.Client-side Discovery Server-side Discovery模式  

5.MessagingRemote Procedure Invocation模式 

6.SingleServiceper Host Multiple Services per Host 模式7  

7.AOP: Microservice chassis pattern 

8.Externalized configuration 

9Service Component TestService Integration Contract Test 

10.Circuit Breaker断路器模式 

11.Access Token访问令牌模式 

12.观察者模式:Distributed tracing  Health check API 

13.UI模式:MVCMVPMVVM模式 

微服务架构中的经典的设计模式,一般提微服务会认为微服务架构指的是一种架构实际上服务架构本身涵盖几十种设计模式,可能后续还有更多的设计模式。 

image.png 

如图所示,以微服务架构为中心向外发散,有许多设计模式正下方两个一个叫客户端发现,一个叫服务端发现服务的注册和发现机制也是一个设计模式,微服架构属于更复杂的分布架构,里面也会用到消息通信,通过消息和数据库其他微服务进行消息补偿 

网关的微服务太多,只有一个出口需要给它同一个代理安全问题如图中 Access token令牌相关的另外还有高并发的熔断限流circuit breaker断路器模式熔断相关,分布式日志分布式加策追踪、服务拆分模式单数据库模式、单实例、单数据库模式多服务共享数据库模式服务编排模式统一配置模式等等。 

这里主要是分布式架构领域相关的设计模式,还有分布式事务模式,一般用的都是补偿的方式。 

服务拆分的一般借鉴DDD模式,但不是照搬,不能完全等同 

、微服务设计模式分类 

应用架构模式 

单点登录 

注册发现 

熔断限流 

断路器 

网关模式 

消息补偿模式 

令牌模式 

数据库: 

分库Single Service 

共库多Service 

多库同步 

事务性补偿 

日志追踪模式: 

观察者模式patterns 

Log aggregation  

Application metrics 

Audit logging 

Distributed tracing 

Exception tracking  

Health check API 

Log deployments and changes 

分布式链路追踪模式 

UI模式: 

MVC 

MVP 

MVVM 

Server-side page fragment composition  

Client-side Ul composition 

相关文章
|
2天前
|
JSON Java API
利用Spring Cloud Gateway Predicate优化微服务路由策略
Spring Cloud Gateway 的路由配置中,`predicates`​(断言)用于定义哪些请求应该匹配特定的路由规则。 断言是Gateway在进行路由时,根据具体的请求信息如请求路径、请求方法、请求参数等进行匹配的规则。当一个请求的信息符合断言设置的条件时,Gateway就会将该请求路由到对应的服务上。
98 69
利用Spring Cloud Gateway Predicate优化微服务路由策略
|
2月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
75 2
|
19天前
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
176 13
Spring Cloud Alibaba:一站式微服务解决方案
|
3月前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
73 0
|
4月前
|
Java UED Sentinel
微服务守护神:Spring Cloud Sentinel,让你的系统在流量洪峰中稳如磐石!
【8月更文挑战第29天】Spring Cloud Sentinel结合了阿里巴巴Sentinel的流控、降级、熔断和热点规则等特性,为微服务架构下的应用提供了一套完整的流量控制解决方案。它能够有效应对突发流量,保护服务稳定性,避免雪崩效应,确保系统在高并发下健康运行。通过简单的配置和注解即可实现高效流量控制,适用于高并发场景、依赖服务不稳定及资源保护等多种情况,显著提升系统健壮性和用户体验。
100 1
|
4月前
|
Cloud Native Java Nacos
微服务时代的新宠儿!Spring Cloud Nacos实战指南,带你玩转服务发现与配置管理,拥抱云原生潮流!
【8月更文挑战第29天】Spring Cloud Nacos作为微服务架构中的新兴之星,凭借其轻量、高效的特点,迅速成为服务发现、配置管理和治理的首选方案。Nacos(命名和配置服务)由阿里巴巴开源,为云原生应用提供了动态服务发现及配置管理等功能,简化了服务间的调用与依赖管理。本文将指导你通过五个步骤在Spring Boot项目中集成Nacos,实现服务注册、发现及配置动态管理,从而轻松搭建出高效的微服务环境。
310 0
|
4月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
90 0
|
26天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
87 5
|
26天前
|
Prometheus 监控 Java
如何全面监控所有的 Spring Boot 微服务
如何全面监控所有的 Spring Boot 微服务
46 3
|
2月前
|
Java 数据库 数据安全/隐私保护
Spring 微服务提示:使用环境变量抽象数据库主机名
Spring 微服务提示:使用环境变量抽象数据库主机名
50 1