首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Sentinel搭建流程 顶

雪崩效应如上图所示,我们在微服务中的调用链中,当一个基础微服务的API接口A不可用时,当B调用A的服务会堆积阻塞,因为我们知道我们每一次调用,无论是调用方还是服务提供方,其实都是一个线程,而这些线程一般都是线程池中的线程。一般一个线程池中的线程数是有限的,一直到请求超时的时候,这个线程才会被释放(在正常情况下,任务执行完毕,线程释放,所以要求每个调用的执行时间越短越好,便于线程池中的线程不断重复使用,不出现阻塞)。在高并发的情况下,B的线程池中的线程资源会被瞬间完全占用,在短期内再也无法创建线程来执行任务,于是B停摆,挂掉了。同理,C、D服务在后续调用中也被B搞挂了。我们把基础服务故障,导致上层服务故障,并且这个故障不断放大的过程,称为雪崩效应。

03

RestTemplate 用法详解「建议收藏」

上篇文章带大家学习了一下基本的微服务环境搭建,由 provider 提供服务, consumer 通过 DiscoveryClient 先去 eureka 上获取 provider 的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做 RestTemplate,RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。在上文的案例中,开发者也可以不使用 RestTemplate ,使用 Java 自带的 HttpUrlConnection 或者经典的网络访问框架 HttpClient 也可以完成上文的案例,只是在 Spring 项目中,使用 RestTemplate 显然更方便一些。在传统的项目架构中,因为不涉及到服务之间的调用,大家对 RestTemplate 的使用可能比较少,因此,本文我们就先来带领大家来学习下 RestTemplate 的各种不同用法,只有掌握了这些用法,才能在微服务调用中随心所欲地发送请求。

01
领券