0%

springcloud简介

springcloud简介

微服务?

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

SpringCloud

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

官方文档 https://cloud.spring.io/spring-cloud-static/Finchley.SR4/single/spring-cloud.html

主要模块

  • 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代替

欢迎关注我的其它发布渠道