后端服务的雪崩效应及解决思路

1.RPC与本地调用的区别

RPC远程调用,一般是跨平台、采用http协议,因为http协议底层使用socket技术,只要你的语言支持socket技术,就可以相互进行通讯。
比如:java语言开发的接口,使用http协议,如此以来C#语言可以调用。
本地调用:只支持java语言与java语言开发,使用虚拟机和虚拟机之间的通讯,RMI。

2.雪崩效应产生的原因

默认情况下只有一个线程池维护所有的服务接口,如果大量的请求访问同一个接口,达到tomcat线程池默认极限,可能会导致其他服务无法访问。

3.雪崩效应的解决思路

服务器在高并发下会产生雪崩效应,为了解决此可以,主要可以从三方面解决
a、缓存:提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的核心。
b、服务隔离、熔断、降级等,当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;
隔离:让各服务使用独立的线程池,互不影响。 熔断:当服务达到最大的承受极限直接拒绝访问,使用服务降级。
降级:用户一直等待时,给客户端一个友好的错误提示。
c、限流:不能使用缓存或降级时的解决方案,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页)。

Hystrix是一个微服务关于服务保护的框架,是Netflix开源的一款针对分布式系统的延迟和容错解决框架,目的是用来隔离分布式服务故障。
限流和服务保护都需要和服务降级共同使用。

白话文理解:

服务保护:当服务产生堆积的时候,对服务实现保护功能 服务隔离:保证每个服务互不影响,使用信号量或线程池方式
服务降级:当服务不可用的时候,不会被等待,直接给客户端一个友好提示
服务熔断:当服务器达到最大的承受能力后,直接决绝访问服务,采用服务降级返回友好提示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值