OpenNJet:下一代云原生应用引擎

提到应用引擎,大家肯定会条件反射般想到NGINX,但是,本文我会为大家介绍一款新型,而且功能更为牛X的云原生应用引擎------OpenNJet

OpenNJet最早是基于NGINX1.19基础,fork并独立演进的开源应用引擎,提供了很多其他云原生应用引擎所不具备的新功能特性,比如:服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入、兼容Kubernetes容器编排等。值得一提的是,作为底层引擎,OpenNJet利用动态加载机制可以实现不同的产品形态,如API网关、消息代理、出入向代理,负载均衡,WAF等等,如此多的集成,使用起来非常方便,而且会显著降低项目成本!

一图胜过千言万语:

OpenNJet安装使用

本文基于Docker方式下载启动OpenNJet。一句命令即可:

bash 复制代码
docker run -d --rm --privileged tmlake/njet:latest

docker的ps命令可查看njet容器是否启动成功:

docker的exec命令登录OpenNJet容器内部查看服务是否正常运行:

bash 复制代码
docker exec -it d7aad0334008 /bin/bash

然后使用curl命令进行请求测试:

可选版本链接:https://gitee.com/njet-rd/njet/tags

简述OpenNJet------主动健康检查和动态配置功能

主动健康检查

主动健康检查与被动健康检查:主动健康检查由Njet主动发起请求测试上游服务是否正常,如不正常则及时剔除对应服务;被动健康检查由Njet检测上游服务的异常返回发现服务异常,不能主动感知上游服务状态。

遥想几年前,随着公司爬虫服务日益增多,相关接口服务也越来越多,管理起来很是零散费事,所以当时花费了些时日,用Kong搭建了一套网关层服务,综合管理。而其中对于爬虫接口服务是否正常使用的也是Kong的健康监测;但是现在,使用OpenNJet替换NGINX,应用引擎层面直接就集成了这一功能------对爬虫服务来说十分的友好!

而且OpenNJet健康检查项的参数也很完善:

bash 复制代码
JSON
{
    "interval": "3s",
    "jitter": "1s",
    "timeout": "10s",
    "passes": 2,
    "fails": 1,
    "port": 13470
}

# interval 主动健康检查频率 
# timeout 超时时间
# jitter 设置健康检查项定时器最大偏差。防止所有检查项同时触发。默认1秒。
# passes 连续通过passes次检测,更新peer为up状态
# fails 连续不通过fails次检测,更新peer为unhealthy状态
# port 指定peer端口,如果不指定,使用upstream中peer设置的端口

强大的动态配置能力

OpenNJet支持比如动态黑名单配置、动态分流,动态limit,动态worker配置等操作。而且OpenNJet这个动态配置还支持swagger页面操作!

swagger 页面在OpenNJet启动后,通过 {ip}:8081/doc/swagger/ 进行访问:

结语

OpenNJet提供的诸多应用引擎新功能,尤其是动态配置这一功能!无疑为使用者带来了非常大的便利,作为云原生应用引擎,它已经是一个非常完美的方案,当然,OpenNJet的强大本文远未点出,相信大家可以在官方文档及实际使用中慢慢见识到它的强大!

官方:https://njet.org.cn/

开源地址:https://github.com/OpenNJet/OpenNJet

使用手册:OpenNJet使用手册v2.1.0.md#opennjet使用手册

相关推荐
分布式存储与RustFS12 小时前
RustFS 1.0 GA 前的生产验收清单:从 rc.1 到 GA 该准备什么
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
Henry-SAP14 小时前
SAP PP 反冲机制业务解析
人工智能·云原生·sap·erp
A-刘晨阳17 小时前
K8s集群中的数据库新范式:KES-Operator解锁部署、扩缩容、备份全链路自动化
运维·数据库·云原生·kubernetes·自动化
江畔柳前堤17 小时前
云原生 × AI 全景图谱:从 Kubernetes 到 Agent 基础设施的一次认知跃迁
人工智能·分布式·gpt·云原生·kubernetes·原型模式·agi
天机玄正18 小时前
云运维高阶二:CLI 调用 API (白名单追随)
windows·云原生
Ningcode_cloud18 小时前
Kubernetes 弹性伸缩实验手册:从集群搭建到 HPA / VPA 自动扩缩容
云原生·k8s·prometheus
玉&心20 小时前
安装Service Mesh(Istio)在dockers desktop的问题
云原生·istio·service_mesh
AgentMaster1 天前
数据治理方案对比:开源自建 vs 商业平台 vs 云原生,三条技术路线的取舍与实践
云原生
阿里云云原生1 天前
云原生可观测性落地:乐檬通过自然语言观测与自动巡检提升运维效能的最佳实践
运维·云原生·starops·云监控2.0
2601_962299241 天前
云原生时代的技术进阶:从零到精通掌握Kubernetes实战
云原生·kubernetes·学习路径·技术进阶·实战指南