栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud学习(待总结)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud学习(待总结)

1.什么是springcloud:

(1)springcloud与dubbo功能类似,作用域各个服务间。方便各个服务之间接口的调用

(2)

2.相关组件:

(1) Hystrix:是服务熔断器,用于解决服务熔断和服务降级的情况。

  • 服务熔断主要用了解决服务雪崩,我们先来介绍一下服务雪崩的概念。
  • 服务雪崩:假如有很多个服务都需要调用A服务,但A突然卡住了,响应很慢,在高并发的情况下,此时A服务就会持有了过量的资源,而导致其他服务的资源不足,从而影响其他服务的使用,甚至可能传播性地导致整个系统崩溃。
  • 服务熔断:熔断的概念是什么呢?就是假如说你家里用了超大的功率的电器,你家的电闸就会为了避免造成危险而帮你跳闸断电。对于服务雪崩也是这样的,他会防止服务占用过量的资源。
    原理:用户的请求将不再直接调用服务,而是通过一个线程池来调用服务,当线程池中没有空闲的线程时,就会返回一个简单的执行结果(需要设定,可能是一个提示信息或者一个假数据)。
  • 服务降级:当某一个主要的服务端的资源不够的时候,可能此时其他的不太重要服务需要进行关闭来为他腾出空间(就好像与支付功能相比,换头像这个功能就可以暂时为支付功能献身了),这就是服务的降级。虽然降级了,但理论上还应该给消费者一个保底的回应,比如说返回提示说服务已经关闭。由于此时服务的提供者已经关闭了,所以这个判断只能发生在服务的消费者中。

对于上面的这两种情况,如果是服务熔断,既可以部署在消费者也可以部署在生产者,因为只是一个“等太久就不等待”的处理,这个等太久既可以事消费者判断也可以事生产者判断;如果是服务降级,由于此时服务提供者大多都关闭了,所以这时候Hystrix只能部署在消费者端。

3.组件Hystrix的使用:

(1)在启动类加注解:@EnableHystrix // 开启hystrix

(2)在消费者或者生产者的方法中加注解

@HystrixCommand(fallbackMethod = "listUserByHystirx",commandProperties = {
            @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "5"), //请求次数
    }) //

4.feign组件的使用:

(1)在启动类加注解

@EnableFeignClients

(2)声明式远程调用:

package com.atguigu.gulimail.member.feign;




@FeignClient("gulimail-coupon")
public interface CouponFeignService {

    @RequestMapping("coupon/coupon/member/list")
    public R membercoupons();
}

参考博客:https://www.cnblogs.com/progor/p/12894684.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/591204.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号