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

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

微服务

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

什么是微服务架构

微服务架构优势

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

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

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

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

高并发

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

这里由于文案过长,小编以截图的模式给大家展示出来,想要获取到这份互联网微服务架构设计的朋友们可以点击此处来获取就可以了!

高并发-应用缓存

高并发- HTTP缓存

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

高并发-扩容

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

高并发-队列应用场景

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

高可用

高可用-负载均衡

高可用-反向代理

高可用-隔离术

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

Dubbo

详细介绍

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

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

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

Dubbo大体部署图

Spring Cloud

Spring Cloud和dubbo比较-背景

Spring Cloud微服务架构图

Spring Cloud大致部署图

Spring cloud、Docker署的支持

Spring Cloud和Dubbo比较-对比

技术架构建议

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

这里由于文案过长,小编以截图的模式给大家展示出来,想要获取到这份阿里巴巴微服务:SpringCloud+SpringBoot+Docker+Dubbo 的朋友们可以点击此处来获取就可以了!

架构设计

微服务架构

Docker环境搭建

SpringBoot

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

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

分布式下的第三方接入

高并发测试

这里由于文案过长,小编以截图的模式给大家展示出来,想要获取到这份阿里巴巴微服务:SpringCloud+SpringBoot+Docker+Dubbo 的朋友们可以点击此处来获取就可以了!

相关文章
|
5天前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
5天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
204 0
|
5天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
125 0
|
3天前
|
负载均衡 算法
Dubbo-负载均衡原理解析(1),一个本科渣渣是怎么逆袭从咸鱼到Offer收割机的
Dubbo-负载均衡原理解析(1),一个本科渣渣是怎么逆袭从咸鱼到Offer收割机的
|
5天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
5天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
30 1
|
5天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo: 微服务通信的高效解决方案
【4月更文挑战第28天】在微服务架构的发展中,服务间的高效通信至关重要。Spring Cloud Dubbo 提供了一种基于 RPC 的通信方式,使得服务间的调用就像本地方法调用一样简单。本篇博客将探讨 Spring Cloud Dubbo 的核心概念,并通过具体实例展示其在项目中的实战应用。
22 2
|
5天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
5天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103535 9
|
5天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。

推荐镜像

更多
http://www.vxiaotou.com