• 各种限流算法对比

    *** 算法| 实现| 优缺点 固定窗口算法| 固定窗口算法通过在单位时间内维护一个计数器,能够限制在每个固定的时间段内请求通过的次数,以达到限流的效果。| 固定窗口算法的优点是实现简单,但是可能无法应对突发流量的情况,比如每秒允许放行100个请求,但是在0.9秒前都没有请求进来,这就造成了在0.9...

    oauth2为什么一定要授权码?

    引用网上图片来说明一下 "oauth2" (/upload/2024/1/oauth2-074e461d9a444259be7ed65be20dbc4b.png) «第一种情况:» 如果在第4步生成的不是code,而是access_token,然后在第5步重定向的时候返回给小兔软件,那么就会把acc...

    线上锁超时排查(手动事务transactionTemplate导致的诡异锁超时)---此篇篇幅很长,带好瓜子

    事情起因 起因是某天线上突然不停报锁超时,重启后又会变正常,但是在某个时刻又会重复发生。这个是报错的日志(日志对检测这种bug不一定有用,唯一的作用就是告诉我们啥表被锁了,但是看不出因为啥被锁的) ### SQL: INSERT INTO t_check_record ( id,create_tim...

    linux监控命令

    分享一部分我写的监控命令,如下: 1.cpu监控 top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d '%' 这个命令返回的是cpu的用户那部分的使用率,就是us那一项,一般情况下我们监控这个指标就可以 这个使用率一般超90%需要警告 2....

    mysql性能优化-1(索引)

    mysql大部分性能的问题都出在索引上,因此索引优化是头等大事 1.最左匹配原则 这是索引基本的匹配原则,这里不多说,只要记住索引是要按顺序创建的,mysql是按顺序去b+树上查找的就行 2.Using temporary; Using filesort 往往出现这个都代表着不好的情况,通常是在gr...

    记录一次线上oom排查

    近日线上出现了一次oom,话不多说,马上排查。 排查经过 由于情况比较紧急,直接先重启了服务,这是老项目,当时也没有开启dump日志,所以获取不到当时的dump日志。 我们先是拿了一部分gc日志用于观察,下面是部分gc的日志 2023-10-09T10:01:08.920+0800: 15.687:...

    记录一次线上网关bug---gateway

    问题描述 最近一次压测的过程中发现一个奇怪的bug,调A服务的接口,但是ip和端口却是B服务的,调B服务的接口,但是ip和端口却是A服务的。 比如调用A服务的接口,本来应该是 "http://192.168.10.10:8100/api/testA,调用B服务的接口,应该是" (http://192...

    关于扔硬币的概率问题

    有趣的话题 如果连续扔了10次硬币,8次向上,2次向下,下一次硬币向下的概率是多少?在我们的认知里,这就是一个独立概率的问题,也就是概率永远是一半,不管前面扔了多少次向上,下一次向下的概率是不会变的,这是一个数学界都公认的原理,但是我偏偏不信科学,我就是觉得应该是向下的概率大,因此我想验证一下。 我...

    mysql优化技巧-2

    一、mysql在线ddl 例如建索引,常规建索引会发生锁表的情况,特别是大表建索引会持续很久,一直锁表是肯定不行的,因此就有了在线建索引 SQL如下: ALTER TABLE tb_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE...

    电商系统如何设计

    订单模块 作为电商系统,首入眼帘的就是订单模块,也是电商基础的模块之一。订单流程包含了订单从下单到完成的整个流程,订单的状态如下: "订单状态" (/upload/2022/12/订单状态-7e4ec108115841818d5f18b7b11f985e.jpg) 1. 这里迎来了第一个问题,可以看...