Resty

Nginx + Lua + Cookie 控制灰度发布

只愿长相守 提交于 2021-01-16 05:51:52
Nginx + Lua + Cookie 控制灰度发布 一、下载安装 1、 安装 OpenResty下载页 、 openresty-1.15.8.2.tar.gz包(点击下载 )、 包版本列表 2、 安装指导页 (点击打开) 3、 参考 CentOS 二、 命令安装 1、 - brew - $ brew install openresty/brew/openresty 2、 查看 openResty 安装目录 - $ nginx -t 如图: 3、 设置别名 - $ export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH 4、 启动 - $ nginx 三、 设置工作目录如:配置文件 conf 如: nginx.conf 1、 通过 nginx -t 2、 拷贝 配置文件夹到 工作目录 - $ cp -r /usr/local/etc/nginx ~/work 修改 nginx 文件夹为 conf 名 - $ mv nginx conf 如图: 四、 修改 nginx.conf 引入 Lua 脚本 如图: 五、 设置 resty.cookie 1 、拷贝代码 https://github.com/cloudflare/lua-resty-cookie/blob/master/lib/resty/cookie.lua 2 、打开

SpringBoot项目的限流

五迷三道 提交于 2020-11-09 08:27:33
开发访问量比较大的系统是,爬虫的目的就是解决访问量大的问题;缓存穿透是为了保护后端数据库查询服务;计数服务解决了接近真实访问量以及数据库服务的压力。 架构图 限流 就拿十万博客来说,如果存在热点文章,可能会有数十万级别的并发用户参与阅读。如果想让这些用户正常访问,无非就是加机器横向扩展各种服务,但凡事都有一个利益平衡点,有时候只需要少量的机器保证大部分用户在大部分时间可以正常访问即可。 亦或是,如果存在大量爬虫或者恶意攻击,我们必须采取一定的措施来保证服务的正常运行。这时候我们就要考虑限流来保证服务的可用性,以防止非预期的请求对系统压力过大而引起的系统瘫痪。通常的策略就是拒绝多余的访问,或者让多余的访问排队等待服务。 限流算法 任何限流都不是漫无目的的,也不是一个开关就可以解决的问题,常用的限流算法有:令牌桶,漏桶。 令牌桶 令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送(百科)。 用户的请求速率是不固定的,这里我们假定为10r/s,令牌按照5个每秒的速率放入令牌桶,桶中最多存放20个令牌。仔细想想,是不是总有那么一部分请求被丢弃。 漏桶 漏桶算法的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制

腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

人盡茶涼 提交于 2020-10-18 02:33:51
15 位青春洋溢的女团候选成员,百万次全网观众投票,节目播出后迅速霸占热搜前十位..... 在这激动人心的决赛之夜,Tencent Serverless 团队下的云 API 网关产品作为幕后英雄,利用其高并发、高可用的技术特性,支撑了节目投票环节顺利开展,面对全网粉丝狂热打 call 投票,顺利保障小姐姐们 C 位出道! 不一般的投票 【投票】是一个很简单的功能,但是《创造营》的投票不一样。 《创造营》是直播节目,投票时间非常短。海量全网粉丝将在同一时间瞬时涌入,瞬间的大流量和高并发,对系统的高可用性提出了极高的要求。 《创造营》投票,将产生本届总冠军,是《创造营》决胜之夜的制胜环节,激动人心的时刻。投票系统的任何差池,都会对粉丝心理和节目效果造成重创。 在投票的关键时刻,为了保证女团小姐姐顺利出道,技术小哥哥采用了什么样的技术设计,保证了这种特殊场景下的投票功能高可用呢? Serverless Serverless 是一种云计算技术的新趋势,一方面它使开发者在构建和运行应用时无需管理服务器等基础设施,将构建应用的成本进一步降低,实现快速迭代、极速部署;同时,Serverless尤其适用于高并发场景,无需预估流量大小,而会根据流量情况自动的进行扩缩容,整个过程无需人工干预;值得一提的是,Serverless 还是按用量付费的模式,避免了无用的资源开销,大大降低了成本。

腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

巧了我就是萌 提交于 2020-08-18 05:37:33
15 位青春洋溢的女团候选成员,百万次全网观众投票,节目播出后迅速霸占热搜前十位..... 在这激动人心的决赛之夜,Tencent Serverless 团队下的云 API 网关产品作为幕后英雄,利用其高并发、高可用的技术特性,支撑了节目投票环节顺利开展,面对全网粉丝狂热打 call 投票,顺利保障小姐姐们 C 位出道! 不一般的投票 【投票】是一个很简单的功能,但是《创造营》的投票不一样。 《创造营》是直播节目,投票时间非常短。海量全网粉丝将在同一时间瞬时涌入,瞬间的大流量和高并发,对系统的高可用性提出了极高的要求。 《创造营》投票,将产生本届总冠军,是《创造营》决胜之夜的制胜环节,激动人心的时刻。投票系统的任何差池,都会对粉丝心理和节目效果造成重创。 在投票的关键时刻,为了保证女团小姐姐顺利出道,技术小哥哥采用了什么样的技术设计,保证了这种特殊场景下的投票功能高可用呢? Serverless Serverless 是一种云计算技术的新趋势,一方面它使开发者在构建和运行应用时无需管理服务器等基础设施,将构建应用的成本进一步降低,实现快速迭代、极速部署;同时,Serverless尤其适用于高并发场景,无需预估流量大小,而会根据流量情况自动的进行扩缩容,整个过程无需人工干预;值得一提的是,Serverless 还是按用量付费的模式,避免了无用的资源开销,大大降低了成本。

Nginx+Lua生成最新文件下载链接

末鹿安然 提交于 2020-08-15 10:06:16
Nginx+Lua生成最新文件下载链接 背景介绍: 要求Nginx提供一个固定的下载接口,比如:xxx.xxx.com/download,然后这个地址会跳转的最新版本的软件包下载地址,这样的话请求xxx.xxx.com/download就能下载到最新版本的软件包。 Nginx编译安装添加lua模块 [root@172-16-1-209 tools]# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz [root@172-16-1-209 tools]# tar xf LuaJIT-2.0.5.tar.gz [root@172-16-1-209 tools]# cd LuaJIT-2.0.5 [root@172-16-1-209 LuaJIT-2.0.5]# make PREFIX=/usr/local/luajit && make install PREFIX=/usr/local/luajit [root@172-16-1-209 LuaJIT-2.0.5]# cd .. [root@172-16-1-209 tools]# wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz [root@172-16-1-209 tools]# tar xf v0

Kong oidc插件

≯℡__Kan透↙ 提交于 2020-08-14 06:36:50
介绍 kong oidc插件 是诺基亚开源的,用于实现OpenID Connect依赖方(RP)功能。代码量不多,内部使用了 lua-resty-openidc 库执行oidc协议的认证,而 lua-resty-openidc 库通过利用 lua-resty-session 来维护已认证用户的会话,从而在将会话状态存储在客户端浏览器cookie,或使用服务器端存储机制共享内存之间提供可配置的选择。 原理 oidc插件是oidc协议的RP,可以与外部的oidc认证授权服务器交互,并且使用session来维持会话,在网关层对前端屏蔽oidc协议的复杂度,提供统一的实现,前端无需关系认证授权相关逻辑。流程如下图所示。 总结 这种用法的争议点在于无状态,使用oidc协议及jwt就是为了无状态,现在网关层为了屏蔽认证的复杂度,又通过增加session变成了有状态,虽然可以通过session共享来处理这个问题。 究竟是要各前端自己实现oidc认证还是网关统一处理,就仁者见仁智者见智了。 来源: oschina 链接: https://my.oschina.net/wecanweup/blog/4332648

腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

♀尐吖头ヾ 提交于 2020-08-08 11:11:16
15 位青春洋溢的女团候选成员,百万次全网观众投票,节目播出后迅速霸占热搜前十位..... 在这激动人心的决赛之夜,Tencent Serverless 团队下的云 API 网关产品作为幕后英雄,利用其高并发、高可用的技术特性,支撑了节目投票环节顺利开展,面对全网粉丝狂热打 call 投票,顺利保障小姐姐们 C 位出道! 不一般的投票 【投票】是一个很简单的功能,但是《创造营》的投票不一样。 《创造营》是直播节目,投票时间非常短。海量全网粉丝将在同一时间瞬时涌入,瞬间的大流量和高并发,对系统的高可用性提出了极高的要求。 《创造营》投票,将产生本届总冠军,是《创造营》决胜之夜的制胜环节,激动人心的时刻。投票系统的任何差池,都会对粉丝心理和节目效果造成重创。 在投票的关键时刻,为了保证女团小姐姐顺利出道,技术小哥哥采用了什么样的技术设计,保证了这种特殊场景下的投票功能高可用呢? Serverless Serverless 是一种云计算技术的新趋势,一方面它使开发者在构建和运行应用时无需管理服务器等基础设施,将构建应用的成本进一步降低,实现快速迭代、极速部署;同时,Serverless尤其适用于高并发场景,无需预估流量大小,而会根据流量情况自动的进行扩缩容,整个过程无需人工干预;值得一提的是,Serverless 还是按用量付费的模式,避免了无用的资源开销,大大降低了成本。

OpenResty + Lua + Kafka 实现日志收集系统以及部署过程中遇到的坑

穿精又带淫゛_ 提交于 2020-05-08 05:19:39
正文前先来一波福利推荐: 福利一: 百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。 福利二: 毕业答辩以及工作上各种答辩,平时积累了不少精品PPT,现在共享给大家,大大小小加起来有几千套,总有适合你的一款,很多是网上是下载不到。 获取方式: 微信关注 精品3分钟 ,id为 jingpin3mins,关注后回复 百万年薪架构师 , 精品收藏PPT 获取云盘链接,谢谢大家支持! ------------------------正文开始--------------------------- ********************* 部署过程 ************************** 一:场景描述 对于线上大流量服务或者需要上报日志的nginx服务,每天会产生大量的日志,这些日志非常有价值。可用于计数上报、用户行为分析、接口质量、性能监控等需求。但传统nginx记录日志的方式数据会散落在各自nginx上,而且大流量日志本身对磁盘也是一种冲击。 我们需要把这部分nginx日志统一收集汇总起来,收集过程和结果需要满足如下需求: 支持不同业务获取数据,如监控业务,数据分析统计业务,推荐业务等。 数据实时性 高性能保证 二:技术方案 得益于openresty和kafka的高性能

lua-resty-kafka配置文档

怎甘沉沦 提交于 2020-05-08 04:42:15
参考网址: https://github.com/doujiang24/lua-resty-kafka 一、例子 content_by_lua ' -- 引入lua所有api local cjson = require "cjson" local producer = require "resty.kafka.producer" -- 定义kafka broker地址,ip需要和kafka的host.name配置一致 local broker_list = { { host = "192.168.101.223", port = 9092 }, { host = "192.168.101.224", port = 9092 } } local key = "key" local message = "halo world" local error_handle = function (topic, partition_id, queue, index, err, retryable) ngx.log(ngx.ERR, "failed to send to kafka, topic: ", topic, "; partition_id: ", partition_id, "; retryable: ", retryable) end local p = producer:new

米兰的小铁匠/resty-gateway

人盡茶涼 提交于 2020-05-01 10:21:01
resty-gateway github: https://github.com/fengjx/resty-gateway 基于openresty + etcd实现的网关服务 依赖 resty.roundrobin lua-resty-jit-uuid lua-resty-etcd lua-resty-http lua-typeof 整体架构 服务启动时,将自己的节点信息注册到etcd,包括:服务名称、ip、端口 网关服务从etcd监听服务节点信息,保存到缓存中,从客户端请求的url中提取服务名称,通过服务名称查找节点信息,将请求转发到后端服务 todo 服务发现,动态路由 自动生成requestId,方便链路跟踪 动态ip防火墙 限流器 用户登录认证 接口协议加解密 文档 详细文档查看: https://blog.fengjx.com/openresty/gateway/ 来源: oschina 链接: https://my.oschina.net/u/4352984/blog/4260632