SpringCloud——学习笔记(二)

一.Hystrix断路器

  • 1.为什么需要 Hystrix断路器?

    雪崩现象: 复杂的分布式架构的应用程序有很多的依赖,当依赖的某个服务出现失败时(线程池阻塞),很容易拖垮整个应用。

    解决办法:

    对依赖做隔离,Hystrix就是处理依赖隔离的框架,同时也是可以帮我们做依赖服务的治理和监控

    hysrix(豪猪):保证微服务群的健壮,做了隔离,熔断,降级,缓存等操作。

    ​ 最终达到不会由于某个服务出问题而导致雪崩,让整个集群死掉。

    资源隔离(限流):线程池隔离,信号量隔离。分配每个服务的资源,互不影响。

    熔断:失败率达到阈值时自动触发降级

    降级:超时降级,资源不足时降级,降级后配合降级接口返回托底数据。减少损失

    缓存:提供了请求缓存,请求合并实现。

    所谓降级,就是当某个服务熔断之后,服务器将不再被调用,此时客户端可以自己准备一个本地的fallback回调,返回一个缺省值。

    熔断(服务提供方做)调用时不能用feign(有自己的机制),使用ribbon

    1.导jar包依赖

    2.启动断路器(@EnableHystrix)

    3.配置断路注解(@HystrixCommand(fallbackMethod = "getUserFailBack") //出现短路(超时,异常,多次访问都失败),托底数据访问(通过方法调用获取的))

    4.返回托底数据的方法(public User getUserFailBack(Long id){ return new User(id,"出现异常了亲!");})

Feign实现

  • 为什么使用Feign?

    每个方法都要加回调并且耦合。

  • 解决方案:

    可以使用spring面向切面编程,为feign的接口创建一个代理对象,完成对服务调用,当发现熔断后就调用同名托底方法。

  • 如果我们服务消费者实现的技术为ribbon,必须在服务提供者方通过Hystrix的断路器.

  • 如果我们服务消费者实现的技术为feign,必须在服务消费者通过feign的断路器,feign断路器底层还是Hystrix的断路器.

二.Zuul路由网关

Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。

  • Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka。

  • 路由访问映射规则 :

    安全加固:不用服务名,映射路径

    忽略原来访问:原来模式不可以访问

    加上统一前缀

  • yml配置

    zuul:
      routes:
         myUser.serviceId: user-provider
         myUser.path: /user/**  #以/user/开头的所有路径都转发给user-provider
      ignored-services:  "*" #可以一个一个配置,但是很麻烦,用*来通配
      prefix: "/services" #加上统一前缀
    

三.SpringCloud Config分布式配置中心

  • 微服务架构中,每个项目都有一个yml配置,管理起来麻烦。要使用spring cloud config来统一管理。

  • 在整个项目中需要一个config-server 所有的其他项目都对应一个config-clent,无论是provider consumer eureka等。

  • 实现

    gitjhub上面的数据就用yhptest的 服务端:能通过url访问配置 客户端:能够通过服务端最终访问配置信息 注意:config-server、和Eureka-sever的配置文件不能交给spring cloud config。注意先后

四.分布式事务

  • 事务: 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行.

  • 本地事务: SqlSessionfactory

    一个数据库范围类事务管理.

  • 分布式事务:

    跨了多个数据库事务管理,在微服务架构每个服务都有自己数据库,在微服务架构中必然要用到分布式事务.

    • 为什么需要?

      微服务架构所必须

  • 实现方案

    二阶段提交(耗时耗资源)

    tcc(强一致性)

    异步确保型(最终一致性-不实时)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值