rpc调用,限流,降级,熔断

三高

高可用,高并发,高扩展

架构图

在这里插入图片描述
在这里插入图片描述
分布式事物
链路追踪

高可用-nacos+openfeign实现服务调用

之前大促的实现

在这里插入图片描述
增减机器,修改各种nginx配置
在这里插入图片描述

rest-template(默认集成了rebbion----实现客户端的负载均衡)

调用之前,ribbion进行拦截,然后请求注册中心,根据服务名获取到服务列表,然后根据负载规则选择一个发起请求,定时轮询(隔几秒就拉去服务)

注册中心定时接受客户端心跳

重试,熔断

openfeign底层依赖rebbion,他实现了调用远程方法如同调用本地方法一样,
在这里插入图片描述

高可用- sentinel限流

降级限流熔断

订单系统每秒能抗10万,现在大促活动,每秒有几百万请求过来,订单系统就会给打挂掉

超过10万的请求提示说当前系统繁忙,请稍后再试
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

降级

高可用- 熔断

业务代码无侵入
在这里插入图片描述
高并发,高可用。

下订单,加积分(很少关心,积分系统出错,可以后续恢复之后再补回来)
在这里插入图片描述
分布式系统的流量防卫兵
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出错后就转而去调本地的异常处理方法

在这里插入图片描述

实时QPS,峰值QPS(一台机器做压测,比如10台机器部署了改服务,那再*10)

高并发-seata

seata会有一个协调器,如果A发送add语句,告知协调器,B服务异常了,告知协调器,这时协调器会对A的进行反向操作,即执行delete(基于mysql的undo日志实现),从而实现事务的回滚

mysql–undo回滚日志
蚂蚁金服是和钱打交道–会使用seata—强一致性,但是加锁太多,性能有点低,实效性有点差,别的公司很少用

实时qps计算是使用滑动窗口算法实现的
淘宝,天猫是如何来控制事务一致性的

在这里插入图片描述
redis撑死几万,nacos能达1万3千多,

代码走向,设计精髓

注册有1,2,3,假设1,2弄完了,但是3没有,此时客户端读出来的就是脏数据
在这里插入图片描述
加锁不能实现高并发

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用mq保证分布式事务一致性

网关—门面模式(网关域名/order,网关域名/product,网关域名/pay----网关负责转发,就不需要在写订单服务域名或ip/order,商品服务/product,支付服务/pay)
注册中心-发布订阅者模式
spring-security-责任链模式

网关主要是以下配置
在这里插入图片描述
所有中间件深挖到原理以及架构思想(解决乐什么问题,整么解决的)
设计思想,全局考虑,性能,扩展性,能否解决可能出现的规模大起来之后的问题

部署时感知及时,又要运行时并发高–不可得兼,没有完美,只有适合,多级缓存就是为了并发
在这里插入图片描述

业务部门
基础架构部门(维护开发中间件)

fliter类:接口调用次数,抛异常次数,被sentinel限流次数,1s一个格子,都会去统计

划的越细,精度越高
在这里插入图片描述

统计近10s,这10个格子总请求数求和,总报错数求和,超过80%,就进行服务熔断
10秒内总请求数/10计算出qps,超过了阈值,就开启服务限流

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值