OpenNJet Q&A
为了解决 NGINX 的动态配置问题,OpenNJet 首先实现了一个有多个 CoPilots:CoPilot:Ctrl、 CoPilot:broker、CoPilot:沙箱构建的动态配置框架,再基于这个框架,逐个对现存的模块进行动态化改造……
为了解决 NGINX 的动态配置问题,OpenNJet 首先实现了一个有多个 CoPilots:CoPilot:Ctrl、 CoPilot:broker、CoPilot:沙箱构建的动态配置框架,再基于这个框架,逐个对现存的模块进行动态化改造……
OpenNJet 实现了可持久化的键值存储(key-value store)功能,并提供了相应的 API 对键值进行操作……
在部署服务端应用时,为了实现服务的高可用,常见的一种方案是额外安装 Keepalived, 通过 Keepalived 来监控服务端应用的运行状态,并设置虚拟 IP (VIP), 客户端通过 VIP 访问服务端实例……
我们都知道在启动一个容器的时候一般都会限制该容器可使用的资源,比如cpu、内存等。而启动容器后,容器里相关资源配置文件都是宿主机的资源信息,比如Linux利用Cgroup实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上的procfs的/proc目录,其包含如:meminfo, cpuinfo,stat, uptime等资源信息……
在实际的业务使用过程中,如何能够做到业务繁忙时让业务快速响应,而在请求量小的时候还能释放多余的机器资源出来,是个比较困难的问题。OpenNJet实现了一种方法,能够基于cpu的使用率动态调整worker进程数量,从而实现刚才的目标……
代理协议(Proxy protocol),是HAProxy的作者Willy Tarreau于2010年开发和设计的一个Internet协议,通过为tcp添加一个很小的包头信息,来方便的传递客户端信息(协议栈、源IP、目的IP、源端口、目的端口等),在网络情况复杂又需要获取用户真实IP时非常有用……
通过修改,在QUIC协议支持的加密套件中增加了国密套件TLS_SM4_GCM_SM3,目前可以用支持QUIC协议及该加密套件的客户端访问……
动态ssl证书支持动态添加ntls(国密证书)、rsa、ecc三种类型证书,动态ssl证书api只支持配置文件中不出现包含变量证书的情况……
HTTP故障注入,支持中止(abort)来自下游服务的Http请求,和/或延迟(delay)代理请求,一个故障规则必须具有延迟或中止或两者兼有。在将HTTP请求转发到路由中指定的目的地时,可以注入一个或多个故障 ……
NJet配置文件中的map指令,可以在请求处理期间创建变量,并根据指定的键值对映射关系进行值的映射。map 指令可以用于许多场景,例如根据请求的路径生成重写规则、根据请求头判断是否启用缓存、根据查询参数配置不同的后端服务等……