Spring Cloud全解析:入门指南与概览,轻松掌握微服务架构的基石

springcloud简介

微服务?

微服务是一种架构风格,将单体应用划分为小型的服务单元,微服务之间使用HTTP的API进行资源访问和操作,与SOA不同的是,SOA架构侧重于将每个单体应用的服务集成到ESB(消息总线)上,而微服务强调将整个模块变成服务组件,对模块的划分粒度更细致

SpringCloud

springcloud是基于springboot提供的一整套微服务解决方案,包括服务注册与发现,配置中心,链路监控,服务网关,负载均衡,熔断器等组件,是各个微服务架构落地技术的集合体

官方文档 cloud.spring.io/spring-clou...

主要模块

  • Eureka:基于REST服务的注册中心,用于服务管理
  • Hystrix:容错框架,通过添加延迟阈值以及容错的逻辑,控制分布式系统间组件的交互
  • Feign:一个Rest客户端,用于简化服务间调用的开发
  • Ribbon:负载均衡框架,实现了中间层应用程序的负载均衡
  • Zuul:微服务网关,为微服务集群提供代理、过滤、路由功能
  • Spring cloud config:为分布式系统提供了配置服务,可以很好的管理集群中的配置文件
  • Spring cloud Sleuth:服务跟踪框架,可以与Zipkin、Apache Htrace和ELK等数据分析、服务跟踪系统进行整合,为服务跟踪提供了便利
  • Spring Cloud Stream:用于构建消息驱动微服务的框架,整合了Spring Integration来连接消息中间件
  • Spring Cloud Bus:连接RabbitMQ或kafka等消息中间件的消息总线

与springboot版本对应

Release Train Boot Version
2020.0.x aka Ilford 2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton 2.2.x, 2.3.x (Starting with SR5)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

如果SpringBoot版本由1.x升级为2.x会存在一些组件的调整,由于部分组件已经停更了,所以可能会出现组件的替换

  • 注册中心 之前Eureka停更,注册中心转移到zookeeper、consul、Nacos(主流)
  • 负载均衡 目前还是使用的Ribbon,虽然该项目目前在维护,但是还没有很好的替代品出现
  • 服务调用 由之前的Feign转为OpenFeign
  • 服务熔断和降级 Hystrix也停更了,开始使用sentinel
  • 服务网关 之前的Zuul也不在更新,改为springcloud官方的gateway
  • 服务配置 springCloudConfig也逐渐被取代,由Nacos替代,不过也有部分使用Apollo
  • 服务总线 之前的springCloudBus也逐渐的被Nacos代替

zhhll.icu/2021/框架/微服务...

相关推荐
程序媛学姐1 小时前
Spring Cloud Kubernetes:在K8s环境中的服务发现与配置
spring cloud·kubernetes·服务发现
命中的缘分1 小时前
SpringCloud原理和机制
后端·spring·spring cloud
RainbowSea6 小时前
通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI) 04
java·spring boot·spring cloud
RainbowSea6 小时前
通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plu
java·后端·spring cloud
冼紫菜8 小时前
[特殊字符] SpringCloud项目中使用OpenFeign进行微服务远程调用详解(含连接池与日志配置)
java·后端·spring cloud
你不是我我10 小时前
【Java开发日记】OpenFeign 的 9 个坑
java·http·spring cloud
mask哥1 天前
详解最新链路追踪skywalking框架介绍、架构、环境本地部署&配置、整合微服务springcloudalibaba 、日志收集、自定义链路追踪、告警等
java·spring cloud·架构·gateway·springboot·skywalking·链路追踪
会游泳的石头1 天前
Spring Cloud Gateway 如何将请求分发到各个服务
spring cloud
liang89991 天前
Docker(二):docker常用命令
spring cloud·docker·容器
来自星星的猫教授3 天前
spring,spring boot, spring cloud三者区别
spring boot·spring·spring cloud