【Spring Cloud】学习(一)

公司最近正在升级拆分以前的spring boot项目,正好学习下spring cloud。

参见Sping Cloud中文网站

参见Spring Cloud英文网站

Spring Cloud官方介绍

在这里插入图片描述

Spring Cloud组件

在这里插入图片描述

在上图可以看到Spring Cloud有许多的组件,数了下目前有21个组件可用,一下子也学不完。看了下有些组件平常也用不到,比如security可以换成轻量点的jwt、shiro。下面介绍下几个常用的组件:
  • Eureka:服务的注册与发现中心,所有的微服务都在Eureka上注册,也可在上面找到所需的服务。
  • Feign:用于微服务之间相互调用,比如A服务想要调用B服务,那么在A服务中加入该组件即可调用B服务。我现在使用的Spring Cloud版本(Finchley.SR1)的Feign组件已经包含了Ribbon组件,因此也可实现负载均衡。
  • Zuul:网关,即Spring Cloud的路由,里面可以配置一系列的过滤器,所有请求都经过zuul,然后由zuul处理后才能进入其他微服务模块中,一般在zuul中做一些权限校验,限流,日志,拦截等操作,因此一个微服务架构的好坏,很大程度上是由zuul决定的。
  • Config:是Spring Cloud的配置中心,当有很多个微服务时,统一配置就变得很重要了,不然改改配置得多累啊,而且Spring Cloud的Config功能是非常强大的,它可以从远端git仓库(目前中国只支持码云,国外github等)自动拉取配置,这样一来,当你项目部署后,突然哪天需要改点配置啥的,只需要改改码云里面的配置就行了,项目都不用重启,更不需要什么打包重新部署那么麻烦,对应的微服务会自动拉取配置的,自动实现热部署。
  • Bus:Spring Cloud的消息总线,上面提到的自动拉取配置就需要用到这个组件,用来传播事件状态变化。
  • Hystrix:寓意“豪猪”,长满了刺,充满了自我保护的气息,用来应对服务降级的,比如A服务在调用B服务时,B服务宕掉了,不能提供服务了,此时A服务如果配置了Hystrix就可以实现服务降级,常见的比如在双11时抢某件商品时,本来所有服务正常时是可以下单的,但如果服务比较拥挤时,会提示你:系统太拥挤了,这个时候下单这个服务就被降级为:系统太拥挤了。
  • Sleuth:寓意“侦探”,是Spring Cloud的服务追踪组件,比如完成某个功能时需要A服务调用B,B服务调用C,C服务调用D, 其中有个过程出现了故障,此时我们可以根据这个组件进行查询是哪个过程出现故障了。
  • Stream:封装了与Redis,Rabbit、Kafka等模板,使操作内存、MQ更加简便。
  • Ribbon:Spring Cloud的负载均衡器,默认采用轮询方式负载均衡,当然也可以配置成其他方式。

题外话:对比下Spring Cloud和Dubbo

DubboSpring Cloud
服务注册中心ZookeeperEureka
服务调用方式RPCREST API
服务监控Dubbo-monitorSpring Boot Admin
断路器不完善Spring Cloud Hystrix
服务网关Spring Cloud Zuul
分布式配置Spring Cloud Config
服务追踪Spring Cloud Sleuth
消息总线Spring Cloud Bus
数据流Spring Cloud Stream
批量任务Spring Cloud Task
………………

他们最大的区别就在于通信方式,REST不存在代码级别的强依赖。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值