代码改变世界

随笔档案-2021年12月

一图搞懂Web应用的单点登录

2021-12-30 07:43 by 萤火架构, 1526 阅读, 收藏, 编辑
摘要: 单点登录即Signle Sign On,简称SSO。其解决的是用户在多个站点之间跳转时需要频繁登录的问题,比如用户登录了天猫,就应该无需再使用账号登录淘宝,它们之间是可以相互信任的,应该自动同步登录状态。从这点上看单点登录技术的本质是登录状态在多个站点之间的扩散机制。 先来看下单个程序的登录处理流程 阅读全文

ASP.NET Core中使用漏桶算法限流

2021-12-11 11:35 by 萤火架构, 656 阅读, 收藏, 编辑
摘要: 漏桶算法是限流的四大主流算法之一,其应用场景各种资料中介绍的不多,一般都是说应用在网络流量控制中。 阅读全文

ASP.NET Core中使用滑动窗口限流

2021-12-10 07:34 by 萤火架构, 1663 阅读, 收藏, 编辑
摘要: 滑动窗口算法用于应对请求在时间周期中分布不均匀的情况,能够更精确的应对流量变化,比较著名的应用场景就是TCP协议的流量控制,不过今天要说的是服务限流场景中的应用。 算法原理 这里假设业务需要每秒钟限流100次,先来看固定窗口算法的两个问题: 漏检 如下图所示,单看第1秒和第2秒,其请求次数都没有超过 阅读全文

ASP.NET Core中使用固定窗口限流

2021-12-09 07:41 by 萤火架构, 1172 阅读, 收藏, 编辑
摘要: 算法原理 固定窗口算法又称计数器算法,是一种简单的限流算法。在单位时间内设定一个阈值和一个计数值,每收到一个请求则计数值加一,如果计数值超过阈值则触发限流,如果达不到则请求正常处理,进入下一个单位时间后,计数值清零,重新累计。 如上图所示,时间单位是1秒,阈值是3。 第1秒3个请求,不会触发限流; 阅读全文

使用Redis实现令牌桶算法

2021-12-08 07:33 by 萤火架构, 5201 阅读, 收藏, 编辑
摘要: 在限流算法中有一种令牌桶算法,该算法可以应对短暂的突发流量,这对于现实环境中流量不怎么均匀的情况特别有用,不会频繁的触发限流,对调用方比较友好。 阅读全文

限流的非常规用途 - 缓解抢购压力

2021-12-03 23:28 by 萤火架构, 408 阅读, 收藏, 编辑
摘要: 这两年因为疫情,节假日都不怎么外出了,以前每逢节假日都要提前一个月或者半个月抢火车票,人太多的时候会把12306整崩溃。当时很多技术人员指点江山,激扬想法,粪土当年铁科院。 阅读全文

限流的非正式用途 - 解决重复提交问题

2021-12-02 08:23 by 萤火架构, 692 阅读, 收藏, 编辑
摘要: 在业务应用程序开发中,经常遇到用户重复提交的问题。比如有一个报名的表单,如果用户不小心连续点击了提交按钮多次,数据库中就可能产生多条报名记录。 阅读全文

限流惩罚是怎么一回事

2021-12-01 08:10 by 萤火架构, 1198 阅读, 收藏, 编辑
摘要: 最近经常看到某某主播被直播平台限流惩罚,平台给主播的流量变少,甚至直接没有流量了。这篇文章要说的是后端服务的限流惩罚,和这个主播被限流惩罚有点相似之处,又有些不同。 阅读全文
点击右上角即可分享
微信分享提示