- 💂 个人主页: 同学来啦
- 🤟 版权: 本文由【同学来啦】原创、在CSDN首发、需要转载请联系博主
- 💬 如果文章对你有帮助,欢迎关注、点赞、收藏和订阅专栏哦
文章目录
🌟 一、OpenNJet是什么?
OpenNJet 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。OpenNJet应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩展性。NJet应用引擎助力企业实现云原生技术的平滑升级并大幅降低IT运营成本。
OpenNJet应用引擎是面向互联网和云原生应用提供的运行时组态服务程序,具备环境感知、安全控制、加速优化等能力,可利用动态加载机制实现不同的产品形态,如API网关、消息代理、入口/出口控制器、边车、负载均衡和WAF等,同时拥有服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入、链路追踪、蓝绿发布等新功能特性。
🌟 二、OpenNJet与Nginx有何区别?
OpenNJet在NGINX的架构上进行了扩充,对其框架进行了改写,增加了 C 及可持久化的动态存储能力,解决了指令配置变更动态生效的关键问题,扩展了OpenNJet的应用场景。此外,业界对应用引擎可观测性的需求,需要应用引擎持续不断的采集性能指标、日志数据以及注入跟踪信息,但这对应用引擎的性能造成了不可忽视的影响,OpenNJet利用Copilot framwork隔离了业务处理及配置变更和指标采集,避免了遥测对性能的影响。作为云原生的应用引擎,OpenNJet需要支持业界流行的Ingress及Sidecar的api规范,基于动态配置+ Copilot framework架构,NJet可以通过不断更新独立的相关Copilot module,实现对响应标准规范的及时支持。
🌟 三、OpenNJet有哪些优势特性?
✨高性能:NJet性能是CNCF推荐Envoy的三倍。
✨功能多:内置HTTP3、故障注入、遥测、配置动态加载、服务发现等功能
✨强安全:集成Web应用防火墙、原生支持国密/ RSA加密解密算法
✨可扩展:强大的插件框架能力支持第三方应用开发
✨可编程:支持LUA、Python可编程控制脚本
✨易管理:提供完善的API接口,内置多主集群和高可用性能力
🌟 四、OpenNJet安装步骤
🔴 4.1 准备工作
在安装OpenNJet之前,我们需要先下载OpenNJet安装包,找到下载链接:https://gitee.com/njet-rd/njet/tags,打开OpenNJet官网链接 https://njet.org.cn/,里面有具体的操作使用文档可供查看,非常方便。
NJet官方提供centos,ubuntu,cloudOS等多个版本的2进制安装包,及软件源。其中支持的有:
根据自己系统版本进行安装,由于我使用系统为Ubuntu20.04, 下载了OpenNJet2.0.1版本,即 njet_2.0.1-1~ ubuntu.18.04~ bionic_amd64.deb 。
🟠 4.2 安装使用
在Ubuntu环境下右击终端,打开下载文件路径,开始操作之旅:
🟥 4.2.1 解压文件
输入解压命令等待解压完成。解压命令如下:
sudo dpkg -i njet_2.0.1-1ubuntu.18.04bionic_amd64.deb
🟧 4.2.2 启动服务
输入命令:systemctl start njet 开始启动服务,提示“启动 njet.service 需要认证”,输入密码进行认证。
查看服务状态,确认是否正常启动。
🟨 4.2.3 部署访问
打开网页浏览器,输入网址: localhost:8080/ ,网页出现“Welcome to njet”信息表明OpenNJet已安装成功。
🌟 五、通过OpenNJet配置Webservice
🔴 5.1 新建html文件
打开njet中 html文件夹路径,输入如下命令:
cd /usr/local/njet/html/
新建一个html文件,命名为:myOpenNJet.html ,如下图所示:
打开myOpenNJet.html ,编辑配置代码:
🟠 5.2 修改conf文件
打开配置文件路径,输入如下命令:
cd /usr/local/njet/conf/
对njet.comf文件进行编辑,此处我们来测试一下请求重定向的功能,重定向到myOpenNJet.html,主要对location部分配置进行修改。修改前后对比图如下:
从上述配置可以看出,在HTTP块中定义了server的服务器块,服务器块的监听端口为 8080,请求根目录为为/usr/local/njet/html。一旦请求路径不存在,则默认返回index.html文件内容。
🟡 5.3 重启OpenNJet服务
在完成OpenNJet配置之后,重启OpenNJet服务,然后在浏览器中输入地址查看输出结果。
sudo systemctl stop nject
sudo systemctl start nject
🌟 六、使用总结
OpenNJet应用引擎具备环境感知、安全控制、加速优化等能力,可利用动态加载机制实现不同的产品形态,提供了服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入、链路追踪、蓝绿发布等新功能特性。它是一款非常轻量化的云原生应用引擎,使用简单,可有效满足企业各方面的使用需求。
通过此次对OpenNJet的使用体验,我认为OpenNJet会有非常良好的应用前景,也期待着利用OpenNJet挖掘更多有价值的应用场景,发挥出更大的价值。