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

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

    • 前言
    • 一、技术架构
    • 二、新增特性
      • 1. 透明流量劫持
      • 2. 熔断机制
      • 3. 遥测与故障注入
    • 三、Ubuntu 发行版安装 OpentNJet
      • 1. 添加gpg 文件
      • 2. 添加APT 源
      • 3. 安装及启动
      • 4. 验证
    • 总结

前言

OpenNJet,是一款基于强大的 NGINX 技术栈构建的创新型云原生运行时组态服务程序,旨在为互联网与云原生应用场景提供高效、灵活且安全的服务支持。通过对 NGINX 的云原生功能深度强化、安全加固以及代码重构,实现了对基础架构的全面升级,从而能够通过动态加载机制轻松适配多种业务场景,以满足不同产品的形态需求。

一、技术架构

好的产品都是从好的设计开始的,优秀的技术架构才能承载多样化的业务场景、拥有极高的性能、更易扩展和管理等独特优势。
技术架构
从而,OpenNJet 能够有效管理和调控微服务之间的内部通信,确保服务间调用的高效、可靠与透明。

二、新增特性

1. 透明流量劫持

OpenNJet 具备对服务间流量的透明拦截与操控能力,能够在不改变服务本身的情况下,对数据包进行检测、修改或者重定向,便于实施统一的安全策略、监控措施或进行A/B测试等高级操作。

2. 熔断机制

为了保护系统免受局部故障的连锁反应影响,OpenNJet 集成了服务熔断功能。当某个服务的错误率超过预设阈值时,引擎能够自动切断对该服务的请求,防止故障扩散,并提供降级处理或备用服务切换,确保整体系统的稳定性和用户体验。

3. 遥测与故障注入

OpenNJet 实现了全面的遥测能力,能够实时收集并上报服务间的调用指标、性能数据以及异常事件,为运维人员提供详尽的可观测性视图。此外,它还支持故障注入测试,允许在生产环境中模拟特定故障场景,以验证系统的容错能力和恢复策略,助力持续改进服务的韧性和可靠性。

三、Ubuntu 发行版安装 OpentNJet

1. 添加gpg 文件

 sudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://njet.org.cn/download/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/njet.gpgsudo chmod a+r /etc/apt/keyrings/njet.gpg

添加gpg文件

2. 添加APT 源

echo \
"deb [arch=$(dpkg --print-architecture) signed-
by=/etc/apt/keyrings/njet.gpg] https://njet.org.cn/download/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/njet.list > /dev/nullsudo apt-get update

添加apt源

注意
E:Malformed entry 1 in list file /etc/apt/sources.list.d/njet.list ([option] not assignment)
报错解释:这个错误表明在/etc/apt/sources.list.d/njet.list文件中,列表中的第一个条目格式不正确。

解决方法
1)打开文件进行编辑 sudo vim /etc/apt/sources.list.d/njet.list
2)检查并修正第一个条目的格式。正确的条目通常以deb或deb-src开头,后面跟着相应的仓库地址、发行版名称、版本号和构架。
修改为:deb [arch=amd64 signed-by=/etc/apt/keyrings/njet.gpg]
https://njet.org.cn/download/linux/ubuntu focal stable
3)保存文件并退出编辑器。
4)运行sudo apt-get update来更新软件包列表。

3. 安装及启动

-- 安装
sudo apt-get install njet-- 启动
sudo systemctl start njet

安装以及启动

启动的时候报错System has not been booted with systemd as init system (PID 1). Can't operate.
报错原因我这个系统里没有使用systemctl、service来管理njet服务,很好理解。
启动报错
解决方法:手工启停
可执行文件及相关的配置文件安装到目录 /usr/local/njet 下

 -- 启动cd /usr/local/njetsbin/njet-- 停止pkill njet

4. 验证

可以通过浏览器或curl/wget访问部署机器的8080地址进行验证
浏览器验证

curl http localhost:8080/

curl访问验证

总结

OpenNJet 应用引擎凭借其对 NGINX 的深度定制化改造与云原生功能扩展,成功构建了一个强大而全面的云原生服务运行环境。它不仅涵盖了传统Web服务与现代微服务架构的多样化需求,更通过引入先进的服务网格特性和运维工具,显著提升了云原生应用的稳定、安全与可管理性,为用户在快速变化的互联网和云环境中提供了坚实的技术支撑。

最后,OpenNJet这么强大,你是不是也想了解和上手实操了!别急,这就上链接:

官网链接:https://njet.org.cn/
github链接:https://github.com/OpenNJet/OpenNJet

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/670736.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 如何进阶?

一、C基础(3个月) 1、面向对象的三大特性:封装、继承、多态 2、类的访问权限:private、protected、public 3、类的构造函数、析构函数、赋值函数、拷贝函数 4、移动构造函数与接贝构造函数对比 5、深接贝与浅贝的区别 6、空…

iMazing下载安装不了怎么办?

iMazing是一款可用于iPhone、iPad等ios移动设备管理软件,但需要注意的是,iMazing只能安装在Windows与Mac系统中,不能安装在iOS移动设备上。iOS移动设备可以通过USB线或Wi-Fi连接Windows或Mac系统上的iMazing软件。 iMazing的安装失败&#x…

CasaOS玩客云安装memos开源云笔记并实现随时随地远程记笔记

文章目录 前言1. 使用Docker部署memos2. 注册账号与简单操作演示3. 安装cpolar内网穿透4. 创建公网地址5. 创建固定公网地址 前言 本文主要介绍如何在CasaOS玩客云,使用Docker本地部署21.6K stars的热门开源云笔记服务memos,并结合cpolar内网穿透工具打…

[含1-4问完整代码]2024深圳杯数模D题成品论文42页word版

基于有限元分析的音板振动模态分析与参数识别 2024深圳杯D题42页成品论文1-4小问完整代码高清结果图https://www.jdmm.cc/file/2710609 摘 要 本文针对音板振动建模与参数识别的一系列问题,采用了多种数学建模方法和求解算法,对相关问题进行了深入分析和求解。问题1的 Kirch…

五种主流数据库:窗口函数

SQL 窗口函数为在线分析系统(OLAP)和商业智能(BI)提供了复杂分析和报表统计的功能,例如产品的累计销量统计、分类排名、同比/环比分析等。这些功能通常很难通过聚合函数和分组操作来实现。 本文比较了五种主流数据库实…

保研面试408复习 3——操作系统

文章目录 1、操作系统一、进程有哪几种状态,状态之间的转换、二、调度策略a.处理机调度分为三级:b.调度算法 标记文字记忆,加粗文字注意,普通文字理解。 为什么越写越少? 问就是在打瓦。(bushi) 1、操作系统 一、进程…

TC3xx MTU概述(2)

目录 1.概述 2.如何配置NDT 3.小结 1.概述 上篇TC3xx MTU概述(1)-CSDN博客我们讲解了MTU基本功能和MBIST基本概念,接下来我们继续讲解MTU如何配置NDT算法。 2.如何配置NDT 前面聊了那么多概念,我们还是来看看如何配置MTU来实现NDT。 MTU寄存器分为…

从固定到可变:利用Deformable Attention提升模型能力

1. 引言 本文将深入探讨注意力机制的内部细节,这是了解机器如何选择和处理信息的基础。但这还不是全部,我们还将探讨可变形注意力的创新理念,这是一种将适应性放在首位的动态方法。 闲话少说,我们直接开始吧! 2. 注…

模板初阶篇

本篇目标 泛型编程函数模板类模板 一、泛型编程 下面是实现一个通用的交换函数 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } v…

SpringBoot整合rabbitmq使用案例

RocketMQ(二十四)整合SpringBoot SpringBoot整合rabbitmq使用案例 一 SpringBoot整合RocketMQ实现消息发送和接收消息生产者1)添加依赖2)配置文件3)启动类4)测试类 消息消费者1)添加依赖2&…

软件测试,软件评测师

如果你想考软件评测师证书,那这篇文章可以帮你少走很多弯路,估计你用别人一半的时间备考就可以通过考试,以下为本人亲身经验哈,你可以先收藏后看哦,提前祝你考试过过过。 如果以后想从事一份软件测试工程师的工作&…

【算法系列】链表

目录 常用技巧 常用操作 leetcode/牛客题目 一、移除链表元素 二、反转链表 三、链表的中间结点 四、返回倒数第k个节点 五、合并两个有序链表 六、链表分割 七、链表的回文结构 八、相交链表 九、环形链表 十、环形链表 II 十一、随机链表的复制 十二、两数相加…