Spring Cloud的发展

单体架构到微服务架构演进

单体架构 -> 垂直架构 -> 集群架构 -> SOA架构(强调数据互联互通) -> 微服务架构(强调解耦、服务拆分)

什么是微服务架构?

  • 微服务架构是一种架构设计方式,本质上是通过一系列小服务去开发一个完整的单体应用
  • 每个小服务都有自己独立的进程
  • 不同的小服务之间通过轻量级的通信机制进行通信调用,比如Http,BIO,NIO,Netty,Dubbo,Thrift,gRPC,RestTemplate,OpenFeign,OkHttp,HttpClient,HttpUrlConnection等
  • 这些小服务可以通过自动化机制进行部署,如Jenkins
  • 这些服务是去中心化的
  • 这些服务可能是通过不同编程语言开发的,可以通过异构微服务的方式进行彼此调用
  • 这些服务可能是使用不同数据库进行数据存储的

分布式架构与微服务架构区别?

分布式架构:将一个计算机完成的计算任务分布在多个计算机上进行分开计算

SOA架构和微服务架构都是分布式架构,微服务架构侧重于服务的拆分

引入网络通信

基于分布式架构的特性,所以引入网络通信。

从系统层面来说,提升了性能,但是损失掉了稳定性、可靠性

但是从用户层面来说,用户的使用必须是稳定可靠的

微服务架构的优势

Spring Cloud生态

Spring Cloud提供了微服务的一站式解决方案

Spring Cloud生态组件

SpringCloud生态定义了标准 + SpringBoot

  • Ribbon,负载均衡
  • Hystrix,熔断降级
  • OpenFeign,模板化远程通信
  • Eureka,服务注册发现
  • Stream,消息驱动,MQ一个模板
  • Bus,消息总线
  • Sleuth,链路追踪
  • Gateway,网关

Spring Cloud版本

  • Spring Cloud Netflix
  • Spring Cloud 2020.x
  • Spring Cloud Hoxton.SR12
  • Spring Cloud Alibaba

去Netflix化

Spring Cloud Netflix

  • Ribbon,负载均衡
  • Eureka,服务注册发现

Spring Cloud Alibaba

  • Nacos
  • Sentinel
  • RocketMQ
  • Seata
  • Dubbo(2.2.7以后不再维护)

付费的:OSS/SMS/SchedulerX

Dubbo生态(3.x) + SpringBoot

  • Nacos
  • Sentinel
  • RocketMQ
  • Seata

云原生架构

设计之初就是为了上云的架构,天生支持运行在kubernates

Logo

一站式 AI 云服务平台

更多推荐