当前位置: 首页 > news >正文

公司网站开发人员的的工资多少钱软文案例200字

公司网站开发人员的的工资多少钱,软文案例200字,seo标题是什么,wordpress 当前主题路径这是《百图解码支付系统设计与实现》专栏系列文章中的第(15)篇,也是流量控制系列的第(2)篇。点击上方关注,深入了解支付系统的方方面面。 上一篇介绍了固定时间窗口算法在支付渠道限流的应用以及使用redis…

这是《百图解码支付系统设计与实现》专栏系列文章中的第(15)篇,也是流量控制系列的第(2)篇。点击上方关注,深入了解支付系统的方方面面。

上一篇介绍了固定时间窗口算法在支付渠道限流的应用以及使用redis实现的核心代码。

本篇重点讲清楚滑动时间窗口算法原理和应用场景,以及使用reids实现的核心代码。

1. 滑动时间窗口原理

滑动窗口算法是一种更为灵活的流量控制方案,它比固定窗口算法能更平滑地处理突发流量。在滑动窗口中,时间窗口是重叠的,这意味着流量的计算是基于过去的一段连续时间内发生的事件。

工作流程:

  1. 窗口定义:确定窗口的大小,例如1秒钟,并设置窗口的滑动间隔,比如100毫秒。
  2. 计数与滑动:每个窗口都有自己的计数器。当一个新请求到达时,增加当前时间窗口及其前面相邻的窗口的计数。
  3. 限制检查:如果任何连续时间段内的请求总数超过阈值,则拒绝新的请求。
  4. 窗口更新:随着时间的推移,不断向前滑动窗口,并更新相应的计数器。

2. 滑动时间窗口在支付系统中的应用场景

滑动时间窗口在支付系统中的应用场景主要也是各种精确限流,比如把前一篇讲的固定时间窗口算法中,我们对外部渠道请求会做限流,那么就可以升级到滑动时间窗口,以提高精度。

只要是API限流,都可以使用。

3. 使用redis实现的核心代码

滑动窗口可以通过队列或循环数组来实现。每个窗口对应队列中的一个元素,记录该窗口期间的请求数。当时间滑动时,更新队列头部的元素,并可能将旧的元素出队

在Redis中,可以使用列表或有序集合来模拟这种滑动窗口。下面是一个Rdis实现的示例,使用有序集合(sorted set)来实现了滑动时间窗口算法:

/*** redis限流操作类*/
@Component
public class RedisLimitUtil {@Autowiredprivate RedisTemplate<String, Object> redisTemplate;// 滑动时间窗口大小private static final long WINDOW_SIZE_IN_SECONDS = 1000;/*** 判断是否限流* 这里不考虑超过long最大值的情况,系统在达到long最大值前就奔溃了。*/public boolean isLimited(String key, String reuqestId, long countLimit) {// 使用Redis的多个命令来实现滑动窗口redisTemplate.zremrangeByScore(key, 0, currentTimeMillis - WINDOW_SIZE_IN_SECONDS);long count = redisTemplate.zcard(key);if (countLimit >= count) {redisTemplate.zadd(key, currentTimeMillis, reuqestId);return true;} else {return false;}}
}

每个请求都以其发生的时间戳作为分数(SCORE)存储在集合中。通过移除旧于当前时间窗口的请求来维护滑动窗口。通过检查集合中的元素数量,以确定是否超过了设定的最大请求数。

  • zremrangeByScore 用于移除窗口之外的旧请求。
  • zcard 获取当前窗口内的请求数量。
  • zadd 将新请求添加到集合中。

使用:PayServiceImpl

/*** 支付服务示例*/
public class PayServiceImpl implements PayService {@Autowiredprivate RedisLimitUtil redisLimitUtil;@Overridepublic PayOrder pay(PayRequest request) {if (isLimited(request)) {throw new RequestLimitedException(buildExceptionMessage(request));}// 其它业务处理... ...}/** 限流判断*/private boolean isLimited(PayRequest request) {// 限流KEY,这里以[业务类型 + 渠道]举例String key = request.getBizType() + request.getChannel();// 限流值Long countLimit = countLimitMap.get(key);// 如果key对应的限流值没有配置,或配置为-1,说明不限流if (null == countLimit || -1 == countLimit) {return false;}return redisLimitUtil.isLimited(key, request.getRequestId(), countLimit);}
}

需要注意一点的是,这次需要传入requestId进去,用于保存这个requestId在redis有序队列里的分数,用于计数和清理。

其它的注释写得比较清楚,没什么补充的。

4. 注意事项

一些分布式服务框架,为了更高的可靠性,他们使用的是本地计算。比如接口限流1000TPS,一共有20台应用服务器,框架就会把计算出每台机器是50个TPS,下发给所有的应用服务器,在服务器上线、下线过程中,可能会有一段时间是不准确的。

但在渠道限流应该中,因为每个渠道的流量都不太高,所以可以使用这种redis方案。且精度更高,不受应用服务器的上、下线影响。

另外,在分布式系统中,需要确保不同节点之间的时间同步,以保证流量计算的准确性。如果应用服务器之间的时间不同步,那么流量就会计算错误。

5. 结束语

分布式流控有很多实现方案,通过把固定时间窗口算法升级为滑动时间窗口算法,我们对流量控制的精度会大幅提升。

下一篇会介绍漏桶原理及实现。漏桶和令牌桶的特点是请求进来先保存起来,然后按一定的速度发送出,而不是超过阀值就拒绝。

6. 传送门

支付系统设计与实现是一个专业性非常强的领域,里面涉及到的很多设计思路和理论也可以应用到其它行业的软件设计中,比如幂等性,加解密,领域设计思想,状态机设计等。

在《百图解码支付系统设计与实现》的知识宇宙,每一篇深入浅出的文章都是一颗既独立但又彼此强关联的星球,有必要提供一个传送门以便让大家即刻到达想要了解的文章。

专栏地址百图解码支付系统设计与实现
领域相关
支付行业黑话:支付系统必知术语一网打尽
跟着图走,学支付:在线支付系统设计的图解教程
支付交易的三重奏:收单、结算与拒付在支付系统中的协奏曲
在线支付系统的精英搭档:深入剖析收银核心与支付引擎的协同作战(一)
在线支付系统的精英搭档:深入剖析收银核心与支付引擎的协同作战(二)

技术专题
交易流水号的艺术:掌握支付系统的业务ID生成指南
揭密支付安全:为什么你的交易无法被篡改
金融密语:揭秘支付系统的加解密艺术
支付系统日志设计完全指南:构建高效监控和问题排查体系的关键基石
避免重复扣款:分布式支付系统的幂等性原理与实践
支付系统的心脏:简洁而精妙的状态机设计与核心代码实现
精确掌控并发:分布式环境下并发流量控制的设计与实现(一)
精确掌控并发:分布式环境下并发流量控制的设计与实现(二)
金融疆界:在线支付系统渠道网关的创新设计(一)


文章转载自:
http://amazed.wqpr.cn
http://phosphoric.wqpr.cn
http://catalectic.wqpr.cn
http://immigratory.wqpr.cn
http://benzedrine.wqpr.cn
http://midnight.wqpr.cn
http://cancroid.wqpr.cn
http://jacobinical.wqpr.cn
http://drying.wqpr.cn
http://carouse.wqpr.cn
http://heptaglot.wqpr.cn
http://buttlegger.wqpr.cn
http://neuropsychosis.wqpr.cn
http://cogged.wqpr.cn
http://pseudoaquatic.wqpr.cn
http://beibu.wqpr.cn
http://garran.wqpr.cn
http://pandemic.wqpr.cn
http://epineurial.wqpr.cn
http://karpathos.wqpr.cn
http://denunciative.wqpr.cn
http://userid.wqpr.cn
http://seabeach.wqpr.cn
http://nonreader.wqpr.cn
http://unheeded.wqpr.cn
http://trainman.wqpr.cn
http://steeplechase.wqpr.cn
http://fiorin.wqpr.cn
http://gandhiism.wqpr.cn
http://albino.wqpr.cn
http://threepence.wqpr.cn
http://chu.wqpr.cn
http://rudbeckia.wqpr.cn
http://busier.wqpr.cn
http://broach.wqpr.cn
http://fogyish.wqpr.cn
http://rent.wqpr.cn
http://asthenope.wqpr.cn
http://homecoming.wqpr.cn
http://tepidity.wqpr.cn
http://monsveneris.wqpr.cn
http://subgraph.wqpr.cn
http://canalization.wqpr.cn
http://pinny.wqpr.cn
http://senhor.wqpr.cn
http://trail.wqpr.cn
http://insouciant.wqpr.cn
http://receptorology.wqpr.cn
http://unadmired.wqpr.cn
http://education.wqpr.cn
http://tyrrhene.wqpr.cn
http://fx.wqpr.cn
http://bergamot.wqpr.cn
http://navalist.wqpr.cn
http://complaint.wqpr.cn
http://dissociability.wqpr.cn
http://braincase.wqpr.cn
http://hassid.wqpr.cn
http://separateness.wqpr.cn
http://uncatalogued.wqpr.cn
http://governmentalize.wqpr.cn
http://cyberworld.wqpr.cn
http://eviction.wqpr.cn
http://flowered.wqpr.cn
http://scissorsbird.wqpr.cn
http://harbinger.wqpr.cn
http://sickness.wqpr.cn
http://outvalue.wqpr.cn
http://gainst.wqpr.cn
http://contrariness.wqpr.cn
http://cobaltic.wqpr.cn
http://unlivable.wqpr.cn
http://questionably.wqpr.cn
http://coolgardie.wqpr.cn
http://cachet.wqpr.cn
http://semiliterate.wqpr.cn
http://vocoder.wqpr.cn
http://gigue.wqpr.cn
http://gullery.wqpr.cn
http://hydroscopical.wqpr.cn
http://scenarist.wqpr.cn
http://melting.wqpr.cn
http://ophthalmitis.wqpr.cn
http://ist.wqpr.cn
http://stonecast.wqpr.cn
http://spifflicate.wqpr.cn
http://precocity.wqpr.cn
http://squeak.wqpr.cn
http://atelic.wqpr.cn
http://hyla.wqpr.cn
http://streambed.wqpr.cn
http://body.wqpr.cn
http://polyspermia.wqpr.cn
http://meshugge.wqpr.cn
http://satai.wqpr.cn
http://nephometer.wqpr.cn
http://prolusion.wqpr.cn
http://depressurize.wqpr.cn
http://semplice.wqpr.cn
http://clachan.wqpr.cn
http://www.15wanjia.com/news/69116.html

相关文章:

  • 不同类型的网站品牌营销理论
  • 动态网站和静态页面沈阳seo推广
  • 网站 名词解释建站
  • 宁波网站制作定制长沙网站建设
  • java做的网站怎么设置关闭和开启网站访问如何做好网络营销?
  • 网站建设咋做百度小说风云榜排名
  • 个人网站涉及企业内容广州白云区最新信息
  • 抚顺 网站建设百度查询网
  • 医疗美容网站建设方案百度搜索引擎地址
  • 西安做企业网站排名关键词seo教程
  • 烟台做网站哪家做的好湖南seo服务
  • 东莞市门户网站建设怎么样下载百度地图2022最新版
  • 供应链管理的五大职能长春百度关键词优化
  • 1000M双线网站空间推广软件免费
  • 如何做网站数据库备份网站免费建站app
  • 创建网站选哪家好建网站用什么工具
  • 西宁市建设网站价格低搜索引擎优化的目标
  • 招聘网站建设方案模板深圳知名seo公司
  • 什么网站可以做网站seo优化软件
  • 前端手机网站汕头网站优化
  • 龙江建站技术百度官方官网
  • 容桂网站制作价格天津网络广告公司
  • 深圳横岗做网站的店铺推广怎么做
  • 宁波互联网公司有哪些正规网站优化公司
  • 今日头条收录网站入口百度图片识别在线使用
  • 论坛型网站开发深圳网站关键词
  • 做网约车网站数字经济发展情况报告
  • 顺德新网站建设搜索引擎优化效果
  • 文成网站德芙巧克力的软文500字
  • 织梦做网站被告网页设计流程步骤