1
raysonx 2018-11-22 16:18:38 +08:00
合适的工具做合适的事,Ngnix 就让它老老实实地做反向代理以及提供静态资源,把逻辑放在程序代码里。
|
2
raysonx 2018-11-22 16:19:29 +08:00
Nginx 官方有一篇文章,楼主英语好的话可以去读一下 https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
|
3
2384036992 OP @raysonx 我先看下哈
|
4
v2dead 2018-11-22 16:36:38 +08:00
这种简单的事情不需要问啊,跑几个压力测试就知道了。别人的经验不见得对你的真实业务有所帮助。而且这点效率本身不见得有什么值得优化的,要是一定要上 php 的话,从部署和开发的简单性来看,肯定放到 php 端简单很多。
而且上面发的是 if is evil,但你用的是 openresty,靠 lua 模块做验证和这个似乎没什么关系。 |
5
v2dead 2018-11-22 16:38:58 +08:00
对了,这篇 ifisevil 是有中文版的,记得就在《 openresty 最佳实践》里面有介绍。
|
6
oott123 2018-11-22 17:54:17 +08:00 via Android
理论上讲你逻辑都写在 openresty 效率更高,甚至你干脆做成 nginx 模块效率还要高一些。不过程序设计总讲究一个取舍,业务逻辑放 php 会不会更好理解?修改起来会不会更方便?写代码的人会不会更开心?
|
7
lihongjie0209 2018-11-22 20:12:33 +08:00
这个就和把业务逻辑写在储存过程中一样
1. 违反了单一职责原则, 你把代码和部署环境强耦合了. 2. 违反了开闭原则, 扩展性和灵活性肯定不如写在代码中好. 3. 违反了依赖倒置原则, web 服务器是一种部署方式, 是细节, 业务代码不应该依赖于任何细节. 4. 违反了过早优化原则, 没有经过测试的优化都是瞎搞. |
8
2384036992 OP @lihongjie0209 3Q!
|