为了账号安全,请及时绑定邮箱和手机立即绑定

如何用正确姿势来学习获得OpenResty?

如何用正确姿势来学习获得OpenResty?

蝴蝶不菲 2018-12-13 14:10:22
如何用正确姿势来学习获得OpenResty
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

1、阻塞的访问网络IO。在连接MySQL、Redis和发起HTTP请求时,工作进程不能傻傻的等待网络IO的返回,而是需要支持事件驱动,用协程的方式让CPU资源更有效的去处理其他请求。很多语言并不具备这样的能力和周边库。

2、有完备的缓存机制。不仅需要支持Redis、Memcached等外部缓存,也应该在自己的进程内有缓存系统。我们希望大部分的请求都能在一个进程中得到数据并返回,这样是最高效的方法,一旦有了网络IO和进程间的交互,性能就会受到很大影响。

3、同步的写代码逻辑,不要让开发者感知到回调和异步。这个也很重要,程序员也是人,代码应该更符合人的思维习惯,显式的回调和异步关键字,会打断思路,也给调试带来困难。

4、最好是站在巨人肩上,基于成熟的技术上搭建。采用一门全新诞生的语言和技术,需要经历语言自身发展期频繁调整的阵痛,还可能站错队。

它主要的使用场景主要是:      

1、在Lua中揉和和处理各种不同的nginx上游输出(Proxy,Postgres,Redis,Memcached等)。   

2、在请求真正到达上游服务之前,Lua可以随心所欲的做复杂的访问控制和安全检测   随心所欲的操控响应头里面的信息。   

3、从外部存储服务(比如Redis,Memcached,MySQL,Postgres)中获取后端信息,并用这些信息来实时选择哪一个后端来完成业务访问。


查看完整回答
反对 回复 2019-01-11
  • 1 回答
  • 0 关注
  • 588 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信