为什么选择OpenNJet?OpenNJet下一代云原生应用引擎!OpenNJet开发实战!

前言导读

在当今这个数字化转型加速的时代,云原生技术已成为企业和开发者构建现代应用的首选路径。OpenNJet作为新一代云原生应用引擎,在国内外技术社区受到了广泛关注。

本文将深入探讨OpenNJet的特点、优势以及在开发实践中的应用,带您全面了解为何它是下一代云原生应用开发的理想选择。

了解更多详情,请访问OpenNJet官网icon-default.png?t=N7T8https://njet.org.cn/

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

OpenNJet应用引擎是基于NGINX打造的,针对互联网和云原生应用场景设计的运行时组态服务程序。它通过动态加载机制,能够灵活地扮演API网关、消息代理、入口/出口控制器等多种角色。OpenNJet以其环境感知、安全控制和加速优化的能力,满足了国内企业对于数据处理的技术规范和标准需求,同时与Kubernetes和Istio等主流云原生技术无缝集成,共同支撑我国云原生产业生态的发展。

1、技术创新与生态建设

在持续的技术迭代和创新发展背后,是OpenNJet强大的开源创新能力。作为开放原子开源基金会TOC评审通过的项目,并发布了1.0版本,OpenNJet在AtomGit上拥有了自己的代码仓库。未来,它将从推广应用、技术研发、确保安全、产业发展和开源共建五个方面继续深化工作。

2、功能丰富与架构先进

OpenNJet不仅具备传统NGINX的功能,还增加了诸如透明流量捕获、熔断、遥测与故障注入等云原生特性。作为数据平面,OpenNJet在提升南北向通信网关能力的同时,还加强了服务网格中东西向通信的功能,全面提升了云原生架构下的通信效率和安全性。

二、为什么选择OpenNJet?

性能无损动态配置

革新性的动态配置能力让OpenNJet解决了NGINX长期存在的痛点:即使在流量高峰期间也能实现实时配置更改,无需重启服务。这样的设计极大提高了服务的可用性和响应速度。

灵活的CoPilot框架

CoPilot框架的引入,使得OpenNJet的数据处理既高效又可靠,同时易于管理和监控。借助此框架,可以轻松实现指标输出、健康检查等管理操作,确保系统的稳定运行。

支持HTTP/3与国密算法

OpenNJet支持最新的HTTP/3协议,借助QUIC传输协议,实现更快、更可靠的Web体验。同时,对国密SM2、SM3、SM4算法的支持为用户提供了更强的数据保护,确保合规性。

高效安全的企业级应用

OpenNJet的设计考虑了企业对高可用、数据安全和自动化运维的需求。通过集群状态同步、集群配额控制以及运维文档的一体化设计,它简化了DevOps实践,并提升了数据安全和服务可用性。

控制面与数据面隔离

CoPilot框架将控制面与数据面进行了有效隔离。这使得OpenNJet在提供稳定、高性能的数据传输的同时,还能轻松扩展各种管理接口。

显著节能效果

选择OpenNJet还意味着您将参与到绿色技术的实践中来。据估计,到2025年,使用OpenNJet将节省的能耗高达1314亿元人民币,为企业及社会的可持续发展做出积极贡献。

三、OpenNJet开发实战!

1、OpenNJet技术架构分析

这张图是一个基于OpenNJet技术的架构图,总的来说,这个架构图描绘了一个高度模块化和分布式的系统,它通过进程隔离确保了控制层和数据层的安全性和独立性。

共享内存使得数据在这两层之间高效交换,而MQTT协议支持的Event Bus则确保了系统内部的通信效率。

该架构支持插件机制,使得第三方模块可以轻松接入和配置。OpenNJet作为基于NGINX的应用引擎,增强了云原生功能、安全性和灵活性,为各类互联网和云原生应用提供了强大的运行时支持。

控制管理层(Copilots)

copilot:xxx:代表特定的控制管理功能,它可以是一个特定的服务或功能模块。

copilot:broker:充当消息代理的角色,可能涉及消息队列的管理,例如MQTT协议。

x.so:动态链接的共享库(Dynamic Shared Object),用于copilot服务的扩展或功能实现。

共享内存(Shared Memory):控制管理层和数据处理层之间的数据交换通过共享内存实现,其中分为两部分,一部分是可读写的(供copilots和workers共同访问),另一部分是只读的(仅供copilots访问)。

发布/订阅(Publish/Subscribe):此机制表明系统内部可能使用了基于MQTT协议的Event Bus,实现消息的异步交换。

数据处理层(Workers)

worker1, worker2, ... worker n:这些都是负责处理数据的组件。它们可以并行工作,处理不同的任务。

module x:表示worker内部的模块,它们可能负责特定的功能,例如数据处理、安全加固等。

调用接口(invoke)/桩(stub):这可能表示workers之间或workers与其他系统组件之间的通信接口,stub可能是提供给外部模块调用的接口。

NJet master:这可能是系统的主控制单元,负责协调和管理整个架构的copilots和workers,可能包含监控、动态配置、负载均衡等多种功能。

Fork:在NJet master附近标注的fork可能表示该控制单元可以创建新的进程来生成更多的workers或copilots,这表明系统具有动态伸缩的能力。

2、安装OpenNJet

NJet官方提供centos,ubuntu,cloudOS等多个版本的2进制安装包,及软件源。

二进制安装包可以从gitee的主仓库选择对应的版本进行下载,或通过软件源的方式自动获得后续的 更新,目前支持centos及ubuntu的软件源配置。

除NJet主应用外,NJet的某些功能模块会通过独立的 二进制发行包进行可选安装,当前提供的有njet-otel模块,用于支持调用链跟踪,其安装参考«njet- otel安装说明»(todo)。

3、启动OpenNJet

3.1、手动启动

通过源码编译安装的,可执行文件及相关的配置文件将安装到目录/usr/local/njet

 cd /usr/local/njetsbin/njet

3.2、通过systemctl启动

使用 rpm 或 deb 二进制安装后,会在 /usr/lib/systemd/system/ 目录下添加 service文件。​使用 sudo systemctl start njet 启动服务。​使用 sudo systemctl stop njet 停止服务​

总结

OpenNJet作为下一代云原生应用引擎,不仅在技术层面为云原生应用的开发和运维提供了强大支持,而且在生态建设、安全合规以及节能减排方面都表现出色。

立即访问OpenNJet官网,开始您的云原生之旅吧!

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

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

相关文章

用python画一个正八边形

1 问题 使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长100的正八边形。 2 方法 1、利用for循环解决如何画出图形中相同的八条边的问题。 2、再利用turtle.fd()函数和turtle.seth()函数画出完整的图形。 代码清单 1 import turtleturtle.pensize(2)d0for i in r…

【系统架构师】-选择题(十三)

1、在某企业的营销管理系统设计阶段,属性"员工"在考勤管理子系统中被称为"员工",而在档案管理子系统中被称为"职工",这类冲突称为( 命名冲突)。 同一个实体在同系统中存在不同的命名&am…

智慧旅游引领未来风尚,科技助力旅行更精彩:科技的力量推动旅游业创新发展,为旅行者带来更加便捷、高效和智能的旅行服务

目录 一、引言 二、智慧旅游的概念与特点 (一)智慧旅游的概念 (二)智慧旅游的特点 三、科技推动旅游业创新发展 (一)大数据技术的应用 (二)人工智能技术的应用 (…

【计算机科学速成课】笔记二

笔记一 文章目录 7.CPU阶段一:取指令阶段阶段二:解码阶段阶段三:执行阶段 8.指令和程序9.高级CPU设计——流水线与缓存10.早期编程方式11.编程语言发展史12.编程原理13.算法入门14.数据结构15.阿兰图灵 7.CPU CPU也叫中央处理器,…

在R的 RGui中,使用devtools 安装trajeR

创建于:2024.5.5 文章目录 1. 报错信息2. 尝试使用指定的清华镜像,没有解决3. 找到原因:官网把包删除了4. 尝试从网上下载,然后安装。没有成功5. 使用devtools安装5.1 尝试直接安装:install.packages("devtools&q…

关于YOLO8学习(四)模型转换为ncnn

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 简介 本文将会讲解: (1)如何通过PyCharm,进行pt模型的转换,最后输出一个适合手机端使用的模型 开发环境 win10、python 3.11…

C语言写一个终端进度条

C语言写一个终端进度条 这个功能挺简单的,主要有以下两点: 如何获取终端宽度如何让字符在原地闪烁 如何获取终端宽度 这里用到了设备控制接口函数ioctl(),下面简单的介绍一下这个函数的用法: ioctl是一个在Unix和类Unix系统中…

零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句 在SQL语句中占有90%以上 也是最为复杂的操作 最为繁琐的操作 DQL语句很重要很重要 初始化数据库和表 USE dduo;create table tb_emp(id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment…

glob库和split函数的用法

dir为一个文件夹,存放着三张jpg格式的图像 import glob dir rD:\My Data\Figure image_DCE_files glob.glob(f{dir}/*.jpg) image_DCE_files glob库可以获取文件夹下为个文件的绝对路径,会保存到一个列表中 获取的路径可以拆分为列表 image_DCE_files[1].split(…

HTTP常见面试题(一)

3.1 HTTP 常见面试题 HTTP基本概念 HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。 HTTP 的名字「超文本协议传输」,它可以拆成三个部分: 超文本 传输 协议 HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语…

Lora训练笔记1——快速上手

准备工具 AKI大佬的整合包,一键解压即可。 度盘链接 提取码:p8uy 图片预处理 图片预处理:以一定规则裁剪原始的训练素材图片,并进行打标处理。 新建两个文件夹 input:存放原始图片的文件夹 preprocess-output:…

西湖大学赵世钰老师【强化学习的数学原理】学习笔记-1、0节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部…

OpenCV如何使用 GDAL 读取地理空间栅格文件(72)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV的周期性噪声去除滤波器(70) 下一篇 :OpenCV系列文章目录(持续更新中......) 目录 目标 代码: 解释: 如何使用 GDAL 读取栅格数据 注意 …

C++进阶----多态

1.多态的概念 1.1 概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同类型的对象去完成时会 产生出不同的状态。 举个例子:比如有一个基类Animal,它有两个子类Dog和Cat。每个…

数据结构---时间复杂度+空间复杂度

算法(algorithm)简单说就是解决问题的方法。方法有好坏,同样算法也是,有效率高的算法,也有效率低的算法。衡量算法的好坏一般从时间和空间两个维度衡量,也就是本文要介绍的时间复杂度和空间复杂度。有些时候,时间与空间…

2024年第七届大数据技术国际会议(ICBDT 2024)即将召开!

2024年第七届大数据技术国际会议(ICBDT 2024)将于2024年9月20-22日在中国杭州的浙江工商大学举行。数据驱动未来,技术引领潮流。从数据挖掘算法的优化,到数据处理速度的提升,再到数据安全与隐私保护的进步,…

Scikit是什么?

目录 一、Scikit是什么? 二、用Scikit做一个简单房价预测例子 三、sklearn知识点 一、Scikit是什么? Scikit就是scikit-learn,是一个免费软件机器学习库。 https://scikit-learn.org/stable/https://scikit-learn.org/stable/ 用于预测数…

SoundStream: 下一代的神经网络音频编解码器,实时压缩不牺牲音质

音频编解码技术的目标是,通过减少音频文件的大小来节省存储空间或减轻网络传输的负担。理想的情况下,即使音频被压缩,我们听到的声音与原版也应该没有任何区别。 过去,已经有不少编解码技术被开发出来,满足了这些需求…

Day13-JavaWeb开发-事务管理(回顾/进阶)AOP基础(入门/概念)AOP进阶(通知类型/顺序/切点表达式)AOP案例

1. 事务管理 1.1 事务管理-事务回顾 1.2 事务管理-事务进阶 rollbackFor propagetion 2. AOP基础 2.1 AOP基础-快速入门 2.2 AOP基础-核心概念 3. AOP进阶 3.1 AOP进阶-通知类型 3.2 AOP进阶-通知顺序 3.3 切入点表达式-execution 3.4 切入点表达式-annottation 3.5 AOP进阶…

如何构建用于从收据中提取信息的生成式人工智能工具

原文地址:how-to-build-a-generative-ai-tool-for-information-extraction-from-receipts 使用 LangChain 和 OpenAI 工具从 Google Drive 中存储的收据图像中提取结构化信息 2024 年 4 月 10 日 纸质收据有各种样式和格式,是自动信息提取的一个有趣目…