Java单机限流可以使用AtomicInteger,RateLimiter或Semaphore来实现,但是上述方案都不支持集群限流。集群限流的应用场景有两个,一个是网关,常用的方案有Nginx限流和Spring Clo…
标签:lua
当 Go 遇上了 Lua
在 GitHub 玩耍时,偶然发现了 gopher-lua ,这是一个纯 Golang 实现的 Lua 虚拟机。我们知道 Golang 是静态语言,而 Lua 是动态语言,Golang 的性能和效率各语言中表现得非常不错…
Nginx 通过 Lua + Redis 实现动态封禁 IP
背景 为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。 架构 实现 IP 黑名单的功能有很多途径:1、在操作系统层面,配置 iptables,拒绝…
Redis 中 Lua 脚本的应用和实践
引言 前段时间组内有个投票的产品,上线前考虑欠缺,导致被刷票严重。后来,通过研究,发现可以通过 redis lua 脚本实现限流,这里将 redis lua 脚本相关的知识分享出来,讲的不到位的地方还望斧正。 redis…
Centos7 安装Nginx整合Lua
前言 本人的使用的电脑是Mac,操作系统是macOS Mojave。电脑上装有虚拟机。虚拟机上安装Centos7操作系统,在其之上安装Nginx及Luau类库,整个过程是在系统安装完成之后开始记录。建议安装前先拍快照,出…
lsyncd —— 多机器实时同步文件神器
lsyncd 是一个支持实时、双向、多机器的多模式文件同步工具。 使用 Lua 语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过 …
网狐荣耀6701/6801 手机打包发布
1.前言 本篇将介绍网狐cocos2dx-lua工程打包android的apk、ios编译过程以及vs2015模拟运行和调试、lua脚本热更新。关于网狐的服务端编译运行,请查看网狐6701/6801服务端编译 测试部署 …
限流算法的实现(redis + lua)
限流算法 常见的限流算法 计数器算法 漏桶算法 令牌桶算法 计数器算法 顾名思义,计数器算法是指在一定的时间窗口内允许的固定数量的请求.比如,2s内允许10个请求,30s内允许100个请求等等.如果设置的时间粒度越细…
Redis中使用Lua的一些优化和注意事项
EVAL、EVALSHA命令 Redis从2.6.0版本开始提供了eval命令,通过内置的Lua解释器,可以让用户执行一段Lua脚本并返回数据。因为Redis单线程模型的特点,可以保证多个命令的原子性(因为最近的项目才想…
Java并发:分布式应用限流 Redis + Lua 实践
任何限流都不是漫无目的的,也不是一个开关就可以解决的问题,常用的限流算法有:令牌桶,漏桶。在之前的文章中,也讲到过,但是那是基于单机场景来写。 之前文章:接口限流算法:漏桶算法&令牌桶算法 然而再牛逼的机器,再优…
解析
大千世界,茫茫人海,我总是可以一眼便认出你。这个过程里包含着一个叫做解析的过程。计算机程序也能够通过这样的过程,在一堆文本中认出一些特定形式的文本。在短暂又漫长的计算机语言编译原理的发展过程中,诞生了很多种形式化文本解析…
nginx-lua-mysql 使用简介
需要安装 Nginx 安装Nginx的echo模块 安装Nginx的lua 模块 安装Mysql ps: echo模块,可以让我们像在PHP使用echo一样,打印出参数。但是要加 default_type “…