SpringCloud——学习笔记(二)

一.Hystrix断路器

  • 1.为何须要 Hystrix断路器?git

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

    解决办法:spring

    对依赖作隔离,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(强一致性)

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

相关文章
相关标签/搜索