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/框架/微服务...

相关推荐
eternal__day4 小时前
Spring Cloud 多机部署与负载均衡实战详解
java·spring boot·后端·spring cloud·负载均衡
记得开心一点嘛13 小时前
使用MinIO搭建自己的分布式文件存储
分布式·spring cloud·minio
LI JS@你猜啊17 小时前
window安装docker
java·spring cloud·eureka
14L2 天前
互联网大厂Java面试:从Spring Cloud到Kafka的技术考察
spring boot·redis·spring cloud·kafka·jwt·oauth2·java面试
小马爱记录2 天前
sentinel规则持久化
java·spring cloud·sentinel
小马爱记录2 天前
Sentinel微服务保护
spring cloud·微服务·架构·sentinel
曼彻斯特的海边2 天前
RequestRateLimiterGatewayFilterFactory
spring cloud·gateway·限流
ghie90902 天前
SpringCloud-基于SpringAMQP实现消息队列
后端·spring cloud·ruby
要阿尔卑斯吗2 天前
Spring Cloud OpenFeign 实现动态服务名调用指南
spring cloud
eternal__day2 天前
微服务架构下的服务注册与发现:Eureka 深度解析
java·spring cloud·微服务·eureka·架构·maven