nginx+lua 如何实现返回结果复制到其它机器?

开源中国神盾局局长 发布于 2015/11/04 20:35
阅读 642
收藏 0

有个需求要把后端返回的数据复制到另一个服务上,想用lua实现,想放到log_by_lua过程用socket发送,但是看了下官方文档log_by_lua这个过程调用不了socket,放到content_by_lua又怕对性能影响,请问大神是否有解决方法?

结果还是放到content_by_lua里面做了,但是感觉做法有点low

/real

/lua  这里capture('/real')->copy同时返回

没法做到real里面直接获取请求的返回结果,有办法直接获取返回结果么,在/real这里面。。。

加载中
0
ccmv
ccmv

搞复杂了吧,从网络层考虑下

tcpdump 是不是也可以考虑下

开源中国神盾局局长
开源中国神盾局局长
tcpdump感觉不太适合生产环境做持久的流量处理
0
Altman
Altman
直接一个redis sub/pub搞定,还需要再开个socket发送么。。。
Altman
Altman
回复 @Sirocco-1fan : 因为你只是想把数据同步到其他服务器,你用socket这样还会堵塞客户端的请求,何不直接丢给redis呢,开销小多了,也更可靠
开源中国神盾局局长
开源中国神盾局局长
求详细指点,为啥要上redis?
返回顶部
顶部