最近公司在考虑做openapi的proxy服务器,公司主营网游,旗下多款游戏的用户登陆,充值等等有很多接口,想聚合分散的接口统一走一个通道,所以都要走这上面,压力不小。
在语言和平台上主要在nodejs和ngx_lua中选择,当然最后还是选择了ngx_lua放弃了nodejs的方案,主要原因:
1、主要考虑公司会nodejs的人貌似就我一个,会累死我的
2、对于ngx的运维和配置相对比nodejs来说更加熟悉和有经验
3、从各种性能测试来说ngx_lua似乎在CPU和内存上更胜一筹

我在研究一阵子ngx_lua之后发现lua语法和js真的很像,同时ngx_lua模型也是单线程的异步的事件驱动的,工作原理和nodejs相同,代码甚至比nodejs的异步回调更好写一些。

性能测试,100并发
php:17400
nodejs:31197
ngx_lua:32628

单纯做http代理服务器加上一些简单的逻辑,似乎ngx_lua的方案更加合适,同时ngx_lua还支持redis、mysql等数据库的支持。

最后附上PHP vs Node.js vs Nginx-Lua性能测试,转载的
http://bluehua.org/demo/php.node.lua.html

转载于:https://www.cnblogs.com/med-dandelion/p/4532285.html

PHP vs Node.js vs Nginx-Lua(转)相关推荐

  1. apache、node.js、nginx、tomcat的关系

    是一类东西,又不是一类东西. 首先他们都能创建 Web 服务器,但是他们关注的点不一样. Tomcat 最好跟 Java 配合,Apache 通常跟 PHP 配合,但也不排除能跟 Node.js 配合 ...

  2. 日记--node.js 和nginx对比环境变量立刻生效https://www.cnblogs.com/zht-blog/p/4033951.html

    Nginx的性能比Node.js的HTTP模块要好很多 但Nginx考量的是面向客户端, 后端业务方面依然是受具体业务影响,而Node.js则可以利用异步I/O来实现业务并行,以提升效率 Nginx没 ...

  3. 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul

    本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...

  4. Node.js的核心与红利

    唯有明晰历史,才能了然当下,预知未来.作者从历史角度解读Node.js,帮助读者透过猜忌和谣言,看清真实的Node.js,了解Node.js的核心与红利. 令人惴惴不安的Node.js 我们越来越频繁 ...

  5. Node.js + Nginx-现在怎么办?

    我已经在服务器上设置了Node.js和Nginx. 现在,我想使用它,但是在开始之前,有两个问题: 他们应该如何一起工作? 我应该如何处理请求? Node.js服务器有两个概念,其中一个更好: 一种. ...

  6. 提升 Node.js 应用性能的 5 个技巧

    "如果nginx没有在你的节点服务器之前,那么你可能就错了."Bryan Hughes在Twitter上说 Node.js是全球领先的用JavaScript--世界上最流行的编程语 ...

  7. 征服Node.js 7.x视频课程(1):Node.js入门-李宁-专题视频课程

    征服Node.js 7.x视频课程(1):Node.js入门-1593人已学习 课程介绍         本课程主要介绍了Node.js的基本情况,以及如何安装Node.js.与Nginx集成,以及开 ...

  8. NGINX配置基于Node.js服务的负载均衡服务器

    NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...

  9. nginx and node.js配合使用 helloworld

    nginx是最好的反向代理服务器. node.js是... 好吧 ,不介绍了,猛击这里 现在小介绍下怎么用nginx和node.js配合使用. 先写个helloworld.js var http = ...

  10. 【nginx+lua高性能web应用开发(二):开发评论模块(ssi+mysql)】

    开发这个模块,是为了解决项目中的实际问题,思考设计的 . 本文原文连接: http://blog.csdn.NET/freewebsys/article/details/16944917 转载请注明出 ...

最新文章

  1. SEO网络优化的三个博客优化技巧
  2. 基于空间相关的图像模板匹配及MATLAB实现
  3. 问题描述: 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。 规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将n堆石子
  4. 从WEB应用的角度,一个应用都需要维护一些不同作用范围的状态, 请问下面哪些状态作用域是WEB应用特有的:( )
  5. 搜狐视频怎么清除应用缓存
  6. 在Red Hat或CentOS上安装 MongoDB-4.x 社区版
  7. Javascipt超详细版思维导图+基础语法导航
  8. HCIE Security SSL 备考笔记(幕布)
  9. Spring中使用 InitializingBean
  10. 51nod 1051 最大子矩阵和 【最大子段和DP变形/降维】
  11. [GRE] 填空机经 Section56-60
  12. python画猫咪老师_夏目友人帐 | 绘画小白怎样用水彩画一只圆滚滚的猫咪老师?...
  13. 推荐一本 Bulma 的书《使用Bulma来创建用户界面》
  14. 博客园主题美化(仅兼容 Markdown)
  15. AKG K66不算评测
  16. maptalks+three.js+vue webpack项目实现二维地图上贴三维模型
  17. Windows 10 下载
  18. Java 用键盘输入 int型 String型 char型数据 示例:简单计算功能 eclipse
  19. 把废旧监控改无人机遥控车红外远程摄像头
  20. 话费充值折扣数据库_《京东话费充值系统架构演进实践》--阅读

热门文章

  1. 替换某个字符串_Schema技术(四)-字符串数据类型
  2. 最大正方形Python解法
  3. markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
  4. Notepad++远程连接Linux系统
  5. python模拟太阳系_用 Python 动态模拟太阳系运转
  6. java web 获取根目录_javaweb中获取服务器端跟目录方法总结
  7. sdn体系的三个平面_软件定义网络基础---SDN控制平面
  8. 2015美国数学建模a代码c语言,1985~2015美国大学生数学建模竞赛题目集锦.docx
  9. 地址栏地址 获取_直播源获取工具,支持斗鱼、虎牙、B站、企鹅电竞、YY、抖音、西瓜直播!...
  10. 列宽一字符等于多少厘米_字符串匹配算法总结——BF、KMP、BM