基于cpu使用率动态调整worker数量(二):容器环境
我们都知道在启动一个容器的时候一般都会限制该容器可使用的资源,比如cpu、内存等。而启动容器后,容器里相关资源配置文件都是宿主机的资源信息,比如Linux利用Cgroup实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上的procfs的/proc目录,其包含如:meminfo, cpuinfo,stat, uptime等资源信息……
我们都知道在启动一个容器的时候一般都会限制该容器可使用的资源,比如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 指令可以用于许多场景,例如根据请求的路径生成重写规则、根据请求头判断是否启用缓存、根据查询参数配置不同的后端服务等……
HTTP/3 的目标则是通过解决 HTTP/2 的传输相关问题,在所有形式的设备上提供快速、可靠且安全的 Web 连接。为此,它使用了一种名为 QUIC 的新传输层网络协议,该协议在用户数据报协议 (UDP) 上运行,而不是以前版本的 HTTP 使用的 TCP……
铜锁国密NTLS支持HTTP和Stream。根据NJet的使用场景,国密支持的场景也细分为Server和反向代理两种场景 ……
在应用的新版本测试发布过程中,经常需要先使用部分选定的账号进行验证,待验证完成后,再逐步将业务流量切换到新版本,直至所有流量均切换到新的集群,但这个过程不能影响到业务 ……