网址:https://itgogogo.cn
大家好,我是皇子。
网关在网络层以上实现网络互连,主要用于两个高层协议不同的网络之间的互连,既可以用于广域网互连,也可以用于局域网互连。
它可以在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统时,作为翻译器,对收到的信息进行重新打包,以适应目的系统的需求。
此外,网关还提供请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、降级熔断、日志、监控、参数校验、协议转换等功能。
如果确定要使用 Nginx 作为网关服务,要实现网关多功能的扩展,我们通常使用一个基于 Nginx 与 LuaJIT 的高性能 Web 平台,即OpenResty。
OpenResty 是通过结合 Nginx 的稳定性和 Lua 的灵活性,可以高效地实现这一系列高级网关功能。
其中 OpenResty 能实现如此多样化的高级功能,我认为有三点:
1、Nginx 模块化设计:Nginx 采用模块化架构,每个功能(如HTTP处理、负载均衡、SSL/TLS加密等)由独立的模块提供,使得系统结构清晰、易于扩展和维护。
2、lua轻量级嵌入:Lua 语言设计之初就考虑到与宿主程序的紧密集成,其小巧的体积、低内存占用和高效的解释器使其非常适合嵌入到其他应用程序中。在 OpenResty 中,Lua 脚本可以直接在 Nginx 工作进程中运行,无需额外的进程间通信开销。
3、Lua-nginx-module 的深度API集成:lua-nginx-module 提供了一套完整的 Lua API,允许直接操作 Nginx 的各种内部对象和状态,如请求、响应、连接、缓存、变量等。这些 API 使得 Lua 脚本能够参与到 Nginx 请求处理的各个阶段,实现细粒度的控制。
推荐阅读
觉得有用,点个赞、在看或者转发 再走呀
关注公众号,后台发送【简历】,领取简历摸板
原文作者:皇子谈技术;如有侵权,请联系管理员删除。