显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

snoopyxdy的博客

https://github.com/DoubleSpout

 
 
 
 
 
 

记录一个openresty路由算法的优化

2018-1-31 18:01:07 阅读88 评论0 312018/01 Jan31

最近在做一个Apigateway项目,目标就是做成类似AWS的Apigateway那样,但是只需要支持HTTP协议即可,由于配置非常灵活,而且性能要求比较高,我还是选择了 openresty 来作为这个网关的技术栈。但是我们需要对nginx.conf文件做一个改造,要做到添加或删除 路径的配置,修改Upstream的内容等都不能reload重启nginx,所以nginx原生的路由匹配功能我们就无法利用了。只能通过lua代码自己去匹配。

路由配置一共分4种,精确匹配,前缀匹配,占位符匹配和正则匹配。代码写完,单元测试都跑完之后,我就进入了性能压测阶段,当一个host只有数10条路由规则的时候,性能还是很OK的,在一台普通的web服务器上进行压测,2000个并发情况下,QPS每秒处理任务数都达到了4W+,符合我们的预期。

作者  | 2018-1-31 18:01:07 | 阅读(88) |评论(0) | 阅读全文>>

记录一个ngx.say和ngx.print差异导致的线上bug

2018-1-16 16:32:52 阅读62 评论0 162018/01 Jan16

最近上线一个项目,利用openresty在前面做反向代理,部分地址通过lua的http请求后端接口进行返回,在线下测试都没问题,公司预发灰度测试都通过了,但是上线到微信站,就莫名其妙的报错了。

通过手机抓包,我们发现发送到手机的响应body没有问题!!!那么问题来了,为什么明明能接收到响应体,但是微信浏览器就是报错呢?

线下我们直接通过手机访问是没问题的,一上线为什么就有问题了?

其中的问题就在于,我在openresty发送到后端数据接口拿数据之后,是通过 ngx.say 方法响应到前面去的,ngx.say方法会默认增加一个换行,所以导致了后端数据接口返回的 Content-Length 长度不对了。

作者  | 2018-1-16 16:32:52 | 阅读(62) |评论(0) | 阅读全文>>

记录一个因为nginx配置不规范导致的缓存击穿的问题

2017-10-20 15:25:59 阅读132 评论0 202017/10 Oct20

之前我们公司有一个页面是处于内存缓存系统的保护的,缓存的规则就是根据请求的 uri 部分进行缓存,但是不关心参数部分。

突然有一天,缓存命中率下降的很厉害,而且后端页面的负载也飙高了。

查了好久,终于找到是因为一条不规范的nginx配置导致的:

location /xxx {
if ($http_user_agent ~* "spider") {
rewrite   ^/xxx(.*)$ /yyy$1 break;
proxy_pass   http://upstreamServer;

作者  | 2017-10-20 15:25:59 | 阅读(132) |评论(0) | 阅读全文>>

or保持50并发请求第三方接口

2017-9-25 11:33:47 阅读108 评论0 252017/09 Sept25

当时有一个需求,发送1w个请求,保持50个并发,用or实现代码如下:
_M.parallel = function(self)
local coNum = 50
local reqList = {}
for i=1,10000,1 do
table.insert(reqList, 'http://127.0.0.1:6565/respParallel')

作者  | 2017-9-25 11:33:47 | 阅读(108) |评论(0) | 阅读全文>>

git回滚master到指定commit

2017-7-12 16:07:39 阅读121 评论0 122017/07 July12

#新建old_master分支做备份 git branch old_master #push到远程 git push origin old_master:old_master #本地仓库回退到某个版本 git reset –hard bae168 #删除远程的master分支 git push origin :master #重新创建master分支 git push origin master 

作者  | 2017-7-12 16:07:39 | 阅读(121) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

江苏省 苏州市 射手座

 发消息  写留言

 
专注互联网技术
 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

注册 登录  
 加关注