firlas
你是希望在 timer 里面使用 ngx.location.capture 么?
这个理论上也可以搞,不过可能相对改动大一些。
timer 里面选择使用 location.capture 而不使用 cosocket 是出于什么目的呢
还有其他希望在 timer 里面支持的么?
firlas
你是希望在 timer 里面使用 ngx.location.capture 么?
这个理论上也可以搞,不过可能相对改动大一些。
timer 里面选择使用 location.capture 而不使用 cosocket 是出于什么目的呢
还有其他希望在 timer 里面支持的么?
imilli
哈哈,有点多,也欢迎大家一起来贡献,齐头并进发展更快
合并http与stream的lua vm, 在core模块lua block (https://github.com/openresty/meta-lua-nginx-module/pull/76),创建配置时就初始化lua vm
doujiang24 目前只遇到ngx.location.capture这个限制.
原因是原本content_by_lua阶段的逻辑使用了很多capture, 因为考虑capture比完整请求要轻量.
随着项目发展, 这些逻辑其中一些要跑在timer里了, timer不支持capture, 只好到处去ngx.get_phase()区分.
看文档时我在想, 既然timer已经"will take one (fake) connection"了, 那不能干脆 take one (fake) request么, 然后timer逻辑发生在这个fake request的content_by阶段, 能使用content阶段所有功能.
毕竟没看过源码, 很可能想的过于简单.
feng
这个 PR 只是完成 shdict 在 stream 和 http 之间共享呢
完全的合并两个 lua vm,这是另外一个话题,其实合并也不太好
firlas
确实 timer 还不是完整的请求,没有 content phase 这个概念了呢,执行上也没有了呢
要支持的话,还是有一些改动量的,当然也不是要引入 content phase 才可以,有其他路子
希望支持可以配置请求到所有worker的的“广播"
tweyseo 有一个这个 module,可以参考一下: https://github.com/slact/ngx_lua_ipc
是否会支持quic呢
282441848 完成并更新了哈,感谢建议!:https://opm.openresty.org/
boy
如果社区有贡献,我们可以一起推动
能不能在balancer_by_lua_*的set_timeouts加一个 keepalived_timeout,这个可以让我们主动的控制keepalive的超时,之前我在github上有发过一个issue
https://github.com/openresty/lua-resty-core/issues/266
jils2013
这个工程量也有一些,需要加入有 upstream zone 的概念,与此同时,搞了 keepalived_timeout 的支持,一直一起搞的也有 pool_size 的支持了
tanjinhua
https://github.com/openresty/lua-resty-mysql/pull/49 这个pr是有什么新计划吗? 我看春哥说有个更好的实现方案,但是没有后续了
在实现oidc协议时,使用resty.http库只能指定IP,不能实现动态负载均衡,想使用ngx.location.capture发起子请求,重新走一次主流程 ,以动态负载的复用。发现ngx.location.capture不会执行主流程中的access_by_lua,从而不能实现动态选取后端节点,以及ngx.location.capture不支持自定义header 头,这样导致不能跟据header头中的host以及其它字段进行负载。