Nginx Openresty:创建两个异步任务
我正在研究一个服务的设计问题,它基本上是重定向 我得到的请求链接将包含一些参数(abc.com/param1=v1¶m2=v2)。 我需要在这个链接上做两个任务Nginx Openresty:创建两个异步任务,nginx,lua,scalability,url-redirection,openresty,Nginx,Lua,Scalability,Url Redirection,Openresty,我正在研究一个服务的设计问题,它基本上是重定向 我得到的请求链接将包含一些参数(abc.com/param1=v1¶m2=v2)。 我需要在这个链接上做两个任务 我需要格式化链接,并将用户重定向到另一个域 根据的值传递一些参数(xyz.com/p1=v2),例如, 参数1,此步骤应尽可能快 经过一些处理后,我需要将链接详细信息保存到我的数据库中 我计划用nginx+lua(openresty)+(Redis或Mongodb?)组合来实现这一点 因为这两个任务是不相关的,所以我计划拆分它,
location redirect/handling {
... //
content_by_lua_file url/to/your/code/forRedirectHandling
ngx.location.capture(mongo/save):
}
location mongo/save {
content_by_lua_file url/to/mongodbHandlingdCode
}
ngx.location.capture()将指向您的第二个位置块,并使您的代码位于另一个线程(nginx worker)中
请参阅openresty文档,了解如何使用know-wich指令(通过\u-lua访问,通过\u-lua记录…)
希望这有帮助:)
我可以让存储由另一个线程完成吗?如何将此任务分配给另一个线程
是的,您当然可以,首先您必须完全理解,然后在您必须调用的ceperate线程中,让您Mongodb进程,其中$url是位置块中的url:
location redirect/handling {
... //
content_by_lua_file url/to/your/code/forRedirectHandling
ngx.location.capture(mongo/save):
}
location mongo/save {
content_by_lua_file url/to/mongodbHandlingdCode
}
ngx.location.capture()将指向您的第二个位置块,并使您的代码位于另一个线程(nginx worker)中
请参阅openresty文档,了解如何使用know-wich指令(通过\u-lua访问,通过\u-lua记录…)
希望得到以下帮助:)也许可以将链接详细信息存储在某个变量/表中,重定向用户,然后冷静地处理数据并对其执行任何操作。谢谢您的回复!!。我可以让存储由另一个线程完成,以及如何将此任务分配给另一个线程吗?我甚至不知道,抱歉:3可能会将链接详细信息存储在某个变量/表中,重定向用户,然后冷静地处理数据并对其执行任何操作。谢谢回复!!。我可以让存储由另一个线程完成,以及如何将此任务分配给另一个线程吗?我甚至不知道,抱歉:3我可以问谁是图形“lua模块指令的顺序”的作者或来源,我发现它非常有教育意义,我想从源代码中了解更多。(一个简单的谷歌搜索并没有得到任何结果)图片的来源是openresty/ngx lua模块的官方github存储库嗯,我已经在那个页面上浏览了几十次,不知道我怎么会错过它。谢谢,我想问谁是图形“lua模块指令的顺序”的作者或来源,我觉得它很有教育意义,我想从来源了解更多。(一个简单的谷歌搜索并没有得到任何结果)图片的来源是openresty/ngx lua模块的官方github存储库嗯,我已经在那个页面上浏览了几十次,不知道我怎么会错过它。谢谢