基本的概念: 通用的实现方式计数器代码实现具体实现 缺点临界问题,11:59:59 秒100个请求,12:00:01秒 又100个请求,导致请求超出服务器的承载能力。 滑动窗口限流基本原理比如限流是按照1分钟100次,我细分为60个...
逃逸分析和栈上分配 逃逸分析: 就是分析出对象的作用域。当一个对象在方法体内声明后,该对象的引用被其他外部所引用时该对象就发生了逃逸,反之就会在栈帧中为对象分配内存空间。就是一个对象如果尽量在自己的方法区内调用,能增加方法执行的效率...
如果我们没有在高并发场景下,我们获取单个用户信息 但在面向大批量to c的用户场景下,用户的请求会出现毛刺的现象。比如某段时间逛的人特别多,获取用户信息,或者商品信息的请求某段时间突然变大,导致单台服务器支持不住,如果做流控的...
为什么要研究这个?开始开发系统的时候,系统部署上线,很容易执行kill -9 执行系统的关闭,但该关闭会有问题,一个是如果老板正在执行操作,你在重新部署系统,结果就是在老板那边各种拒绝服务错误,还有一个可能在系统重启之后,老板的数据存...
查看缓存行的大小。 验证cacheline的存在。cacheline 的代码验证,如下所示的代码,按照正常的理解我们应该认为第一个循环和第二个循环的效率应该是一样的。 上述的循环,循环2做了循环1/16 的工作,...
spring boots 的工程开发 一般性我们只需要如下图配置就OK了 为什么这么配置之后spring boots就能启动了?看一下 SpringBootsApplication 核心的代码基本就在 @EnableAutoConf...
配置文件配置 上面的配置会先通过 PathRoutePredicateFactory 查到 小说服务。然后通过PrefixPath 查找 小说服务的 /client/book/** 接口 各个接口简单...
背景b+ 树,目前删除还不是很完善,主要是为了搞明白h2数据库预先打下基础,后面会开始通过这个然后比对h2是如何实现这块的逻辑。 应用的数据库h2,mysql, b+树的图解:是固定大小的内存,一般为4k,可以通过命令查找。 数据库主要涉及的知识点1:事务,隔离级别2:MVCC3:多版本存储,每一个版本都是一个B-tree树4:B-treeC-ISAMD-ISAM...
主要用途相比简单hash 减少分布式缓存 添加一台机器或者减少一台机器时候,对于缓存路由到新的机子,导致缓存穿透的问题。 代码 参考资料