阿里巴巴资深架构师深度解析微服务架构设计之SpringCloud+Dubbo

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 微服务软件架构是一个包含各种组织的系统组织,这些组件包括Web服务器,应用服务器,数据库,存储,通讯层),它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。

微服务

软件架构是一个包含各种组织的系统组织,这些组件包括Web服务器,应用服务器,数据库,存储,通讯层),它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。


编辑切换为居中

添加图片注释,不超过 140 字(可选)


什么是微服务架构

微服务架构优势

独立部署,由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效,同时降低对生产环境所造成的风险,最终缩短应用交付周期。

技术选型灵活微服务架构下,技术选型是去中心化的。每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈。由于每个微服务相对简单,当需要对技术栈进行升级时所面临的风险较低,甚至完全重构一个微服务也是可行的。

容错:当某个组建发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用。在微服务架构下,故障会被隔离在单个服务中。若设计良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。

扩展:单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。

高并发

1、应用缓存

2、HTTP缓存

3、多级缓存

4、池化

5、步并发

6、扩容

7、队列

Dubbo

1、服务集群-集群容错模式

2、服务提供者集群与负载均衡

3、架构高并发高可用选型技术

4、部署图

Spring Cloud 19个技术

1、Spring Cloud Config 配置中心,利用git集中管理程序的配置。

2、Spring Cloud Netflix 集成众多Netflix的开源软件

3、Spring Cloud Bus 消息总线,利用分布式消息将服务和服务实例连接在一起,用于在一个集群中传播状态的变化

4、Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry集成你的应用程序

5、Spring Cloud Cloud Foundry Service Broker 为建立管理云托管服务的服务代理提供了一个起点。

6、Spring Cloud Cluster 基于Zookeeper, Redis, Hazelcast, Consul实现了领导选举和平民状态模式的抽象和实现。

7、Spring Cloud Consul 基于Hashicorp Consul实现的服务发现和配置管理。

8、Spring Cloud Security 在Zuul代理中为OAuth2 rest客户端和认证头转发提供负载均衡

9、Spring Cloud Sleuth SpringCloud应用的分布式追踪系统,和Zipkin,HTrace,ELK兼容。

10、Spring Cloud Data Flow 一个云本地程序和操作模型,组成数据微服务在一个结构化的平台上。

11、Spring Cloud Stream 基于Redis,Rabbit,Kafka实现的消息微服务,简单声明模型用以在Spring Cloud应用中收发消息。

12、Spring Cloud Stream App Starters 基于Spring Boot为外部系统提供spring的集成

13、Spring Cloud Task 短生命周期的微服务,为SpringBooot应用简单声明添加功能和非功能特性。

14、Spring Cloud Task App Starters

15、Spring Cloud Zookeeper 服务发现和配置管理基于Apache Zookeeper。

16、Spring Cloud for Amazon Web Services 快速和亚马逊网络服务集成。

17、Spring Cloud Connectors 便于PaaS应用在各种平台上连接到后端像数据库和消息经纪服务。

18、Spring Cloud Starters (项目已经终止并且在Angel.SR2后的版本和其他项目合并)

19、Spring Cloud CLI 插件用Groovy快速的创建Spring Cloud组件应用。

Spring Cloud共集成了19个子项目,里面都包含一个或者多个第三方的组件或者框架!

互联网微服务架构设计总结

共五大模块74个知识点解析互联网微服务架构:高并发、高可用、Dubbo、SpringCloud、Docker



编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发-应用缓存


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发- HTTP缓存


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发- 多级缓存(分布式缓存)


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发-扩容


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发-扩容分布式数据库


编辑切换为居中

添加图片注释,不超过 140 字(可选)



编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发-队列应用场景


编辑切换为居中

添加图片注释,不超过 140 字(可选)



编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发小结——应用缓存、HTTP缓存、多级缓存、池化、异步并发、扩容、队列

高可用


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高可用-负载均衡


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高可用-反向代理


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高可用-隔离术


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高可用小结——负载均衡与反向代理、隔离、限流、降级、超时与重试、回滚、压力测试与应急预案

Dubbo

详细介绍


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Dubbo服务集群-集群容错模式


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Dubbo 服务提供者集群与负载均衡


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Dubbo架构高并发高可用选型技术


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Dubbo大体部署图


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Spring Cloud

Spring Cloud和dubbo比较-背景


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Spring Cloud微服务架构图


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Spring Cloud大致部署图


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Spring cloud、Docker署的支持


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Spring Cloud和Dubbo比较-对比


编辑切换为居中

添加图片注释,不超过 140 字(可选)


技术架构建议

1、Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(阿里巴巴现在使用架构为HSF)。 于2012-10-24最后版本2.5.3成为最后一版本,已经成为过去,也是过去的王者

2、Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出,是现今微服务的王者

3、Saas的部署最好在Docker环境下部署,Spring Cloud无缝衔接

4、 Spring Cloud 和 Dubbo技术在服务治理上Spring Cloud 显然优越于Dubbo,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态,一直是dubbo架构部署运行后最为头疼的事情, Spring Cloud 一一自带组件解决了这些问题。

5、针对当前项目来说,团队项目采用spring boot, 学习成本成本很少

6、 Spring Cloud依托于spring boot,天然可以部署在Docker环境下,天生就是为高可用而设计的,维护成本比dubbo低很多


阿里巴巴微服务:SpringCloud+SpringBoot+Docker+Dubbo


架构设计


编辑切换为居中

添加图片注释,不超过 140 字(可选)


微服务架构


编辑切换为居中

添加图片注释,不超过 140 字(可选)


Docker环境搭建


编辑切换为居中

添加图片注释,不超过 140 字(可选)


SpringBoot


编辑切换为居中

添加图片注释,不超过 140 字(可选)


使用Dubbox+Spring Boot搭建微服务架构


编辑切换为居中

添加图片注释,不超过 140 字(可选)


基于Redis+ActiveMQ实现高并发访问


编辑切换为居中

添加图片注释,不超过 140 字(可选)


分布式下的第三方接入


编辑切换为居中

添加图片注释,不超过 140 字(可选)


高并发测试


编辑切换为居中

添加图片注释,不超过 140 字(可选)


本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关文章
|
4月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
246 6
|
4月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
108 1
|
3月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
369 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
3月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
96 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
139 17
|
1月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
|
2月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
120 7
|
3月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
236 5
|
4月前
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
108 7

热门文章

最新文章

推荐镜像

更多