接手一个项目,甲方希望在项目中实现指定用户的限流,这需要我们在go项目中实现一个限流器。 限流器的实现有很多经典的思想,不过令牌桶的思路简单,运行效率高,它是以恒定的速度往木桶里加入令牌,木桶满了则不再加入令牌。 服务收到请求时尝试从木桶中取出一个令牌,如果能够得到令牌则继续执行后续的业务逻辑。如果没有得到令牌,直接返回访问频率超限的错误码或页面等,不继续执行后续的业务逻辑。 特点:由于木桶内只要有令牌,请求就可以被处理,所以令牌桶算法可以支持突发流量。 同时由于往木桶添加令牌的速度是恒定的,且木桶的容量有上限,所…

2025年4月9日 0条评论 11点热度 0人点赞 MuWinds 阅读全文

1.签到题 答案的第一位是1 second number is eight 叁:9 最后一个是八 第一题:1 8 9 8(北京大学的创校时间xD),这读完都知道在哪吧…… 2.小北问答 1某厂的CPU采用了大小核架构,大核有超线程,小核没有超线程。已知物理核心数为12,逻辑核心数为16,大核数量为____,小核数量为____。 都说了鸡兔同笼嘛,Ez x+y=12 2x+y=16 x=4 y=8 2 C语言中,假设有函数 void f(const void **p);,我们有 void **q;,请问不使用强制类型…

2025年4月9日 0条评论 20点热度 0人点赞 MuWinds 阅读全文

转载:https://www.cnblogs.com/wangchaowei/p/8288216.html Heap是一种数据结构具有以下的特点: 1)完全二叉树; 2)heap中存储的值是偏序; Min-heap: 父节点的值小于或等于子节点的值; Max-heap: 父节点的值大于或等于子节点的值; 堆的存储: 一般都用数组来表示堆,i结点的父结点下标就为(i–1)/2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。 堆的操作:insert 插入一个元素…

2025年4月9日 0条评论 6点热度 0人点赞 MuWinds 阅读全文

openwrt主路由模式下的ipv6能力太差,同时对大量连接数的处理性能也不是很好,最后无奈换成了ikuai主路由+openwrt旁路由的模式 之前介绍过旁路由模式,但是说的有点小问题,其实旁路由模式也可以使用ipv6,同样的,独臂路由是用作主路由,而不是作为旁路网关。 由于博客的机器(和nas在一起的)是ipv6源站,镜像源的更新需要走旁路由,以及无线路由器也是指向旁路网关以方便用梯子的,所以得让走旁路网关的机器也能分配到ipv6地址。 开启IPv6的前提条件是爱快负责DHCP,OpenWRT作为旁路由模式,路由…

2025年4月9日 0条评论 5点热度 0人点赞 MuWinds 阅读全文

*本身这篇博文是为了我上大学为了减少校园网的费用所预备的,结果上大学后发现校园网不要钱…… WireGuard是一款极其简单、快速、现代化的VPN,采用最先进的加密技术。它的目标是比IPsec更快、更简单、更精简、更有用,同时避免了配置上巨大的头痛。它比OpenVPN的性能高得多。WireGuard被设计为一种通用VPN,用于在嵌入式接口和超级计算机上运行,适用于许多不同的情况。它最初是为Linux内核发布的,现在是跨平台的(Windows、macOS、BSD、iOS、Android),可广泛部署。它目前正在大力开…

2025年4月9日 0条评论 5点热度 0人点赞 MuWinds 阅读全文

开发机环境切换到openEuler,测试了一下宝塔的功能,除了因为发行版问题基本上mysql,nginx,php的安装都需要编译安装以外。其实就没什么问题了,甚至连docker都是正常的 但是系统版本的显示是有问题的,很令人难受。 通过f12,一步步推导出处理这部分的代码在/www/server/panel/class/public.py文件中 查看源代码,宝塔这里的检测看得出来是改了好几版了……太多的if else嵌套了 通过阅读源代码,发现如果没有检测到/etc/.productinfo和/etc/redhat…

2025年4月9日 0条评论 6点热度 0人点赞 MuWinds 阅读全文

来自知乎文章:Redis详知详解 - 知乎 (zhihu.com)在这里做一些改动方便阅读 Redis学习 三大主线: 1.高性能:线程模型,数据结构,持久化,网络框架 2.高可靠性:主从复制,哨兵机制 3.高可拓展:数据分片,负载均衡 01 Redis 基本架构 可以存储的数据 Redis是一个键值数据库。基本数据模型是key-value模型; 不同的键值数据库所支持的key类型差异不大,但是在对value类型支持时却有着较大的差别,所以在对键值数据库进行选择时,一个重要的考虑因素是它所支持的value类型。例如…

2025年4月9日 0条评论 5点热度 0人点赞 MuWinds 阅读全文

如果用openwrt默认镜像的,应该知道官方给的默认img镜像大小只有128M,安装的分区也自然只有128M 因此,安装后我们需要扩大一下分区。 下面来自openwrt官方文档:[OpenWrt 维基]x86 硬件上的 OpenWrt(PC/VM/服务器) 扩展根分区和文件系统 Смотритетакже: 扩展根分区和文件系统:自动 扩展根分区 在虚拟机上安装 OpenWrt 时,请务必先扩展基础磁盘映像,然后再扩展分区。 使用parted修复分区表,识别并展开根分区。 扩展根文件系统 在扩展文件系统之…

2025年4月9日 0条评论 8点热度 0人点赞 MuWinds 阅读全文

官方给的安装文档太过精简,缺少必要的东西,补充一下 1.安装前请先在openwrt弄好梯子,保证可以访问sourceforge 2.更换openwrt默认带的dnsmasq到dnsmasq_full版本: 3.新增opkg key 4.添加稳定版仓库 5.开始安装passwall

2025年4月9日 0条评论 9点热度 0人点赞 MuWinds 阅读全文

家庭环境:北京移动,上行120Mbps,下行1000Mbps,开启桥接,默认fullcone NAT环境 我本人还跑pcdn,但是也有时候需要vpn到家里来访问家里的文件,需要优先保证我访问到的家里的vpn的速度和稳定性 所以设置了手动的流控规则,但是跑speedtest发现PCDN仍然把宽带吃的死死的,并没有把PCDN的流量给控制住让其他机器的流量通过。 先贴一下ikuai官方给的解决方案:流控不生效或限速不了的问题-爱快 iKuai-商业场景网络解决方案提供商 (ikuai8.com) ①手工模式和智能流控不能…

2025年4月9日 0条评论 9点热度 0人点赞 MuWinds 阅读全文
123456