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

java中高可用

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

java中高可用

高可用:表示一个系统在大部分时间里都是可用的,即使发生什么故障时,服务任然是可用的。

限流:对请求的速率进行限制,避免瞬时的大量请求击垮系统。
常见限流算法:

固定窗口计算器算法:固定窗口就是就是时间窗口,规定我们单位时间请求数量。采用计数器count初始化为0,在一分钟内请求次数超过设定的某个值,后续请求会被拒绝。缺点是无法保证限流速率,因此无法保证激增的流量,如前0.9s没有请求访问,最后0.1s大量请求访问就会处理不完,系统会被击垮。

滑动窗口计算器算法:将时间按比例分片,如接口限流一分钟只能处理60次请求,则每秒钟只能处理小于60次(请求)/60(窗口数)请求,如果当前窗口的请求计数总和超过了限制的数量的话就不再处理其他请求。

漏桶算法:将处理请求比如漏桶按照一定速率漏水,如果漏桶已经满了,则丢弃该请求。可以以队列形式实现。

令牌桶算法:请求在处理之前需要拿到一个令牌,请求完成之后将这个令牌丢弃删除。根据限流大小按一定速率向桶里添加令牌。如果桶装满了,就不能继续往里面继续添加令牌了。

分布式限流常用的方案:
1、借用中间件限流:可以借助Sentinel或者使用redis来限流
2、网关层限流:通常网关层也需要借助到中间件,就比如Spring Cloud Gateway 的分布式限流实现RedisRateLimiter就是基于 Redis+Lua 来实现的,再比如 Spring Cloud Gateway 还可以整合 Sentinel 来做限流。

灾备 = 容灾 + 备份
备份:将系统产生的重要数据备份
容灾:在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。

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

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

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