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

本心、输入输出、结果

文章目录

  • OpenNJet : 下一代云原生应用引擎
    • 前言
      • OpenNJet 技术架构
      • 安装 OpenNJet
      • 为什么有了 OpenNJet
      • OpenNJet 和 NGINX 是什么关系
      • 什么是云原生应用引擎?OpenNJet 的有哪些优势
        • OpenNJet 的有哪些优势
      • OpenNJet 与国产化
      • OpenNJet 使用教程
      • OpenNJet 体验总结

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


编辑 | 简简单单 Online zuozuo
地址 | https://blog.csdn.net/qq_15071263

个人简介 : 简简单单Online zuozuo,目前主要从事 Java 相关工作,商业方向为 B、G 端,主要使用Java、Python 进行日常开发,喜欢探索各个方面的内容,对很多的方向、内容感兴趣 :目前对 AIGC、云计算、物联网、医疗应用方向感兴趣


如果觉得本文对你有帮助,欢迎点赞、收藏、评论

前言

在这里插入图片描述

OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩展性。NJet应用引擎助力企业实现云原生技术的平滑升级并大幅降低IT运营成本。

1

OpenNJet 技术架构

在这里插入图片描述

2

安装 OpenNJet

操作系统环境

在这里插入图片描述

通过 Docker 容器启动 OpenNJet

docker run  -d --rm --cap-drop=ALL --cap-add=cap_dac_override --cap-add=cap_dac_read_search --cap-add=cap_setuid --cap-add=cap_net_bind_service --cap-add=cap_net_admin --cap-add=cap_net_raw --cap-add=cap_setgid --cap-add=cap_audit_write tmlake/njet:latest

运行完成如下图

在这里插入图片描述

进入容器

docker exec -it 570f8e0b19b2 /bin/bash

访问 OpenNJet 服务

curl http://127.0.0.1:8080/

在这里插入图片描述

查看 OpenNJet 的运行情况和配置文件

ps -ef
cat /usr/local/njet/conf/njet.conf

在这里插入图片描述

3

为什么有了 OpenNJet

据 Gartner 预测,到 2025 年,云原生架构将成为超过 95% 的新数字计划基础,高于 2021 年的不到 40%,云原生架构市场占有率不断提高。而如今,全球半数以上(55%) 的网站都基于 NGINX 运行,差不多相同比例 (53.7%) 的中国网站在 NGINX 开源版上运行。而 NGINX 存在难于动态配置、管理功能影响业务等问题,为了解决这些问题,OpenNJet 由此诞生

OpenNJet 基于 NGINX1.19 基础 fork 并独立演进,具有高性能、稳定、易扩展的特点,通过数据面与控制面的隔离,能够在不重启进程的情况下基于动态配置能力进行配置的实时更新。最近还推出了 OpenNJet K8s Ingress Controller 1.0,基于 OpenNJet 的动态特性、高性能实现,弥补了 NGINX 在云原生场景中不足,而且提供了丰富的流量管理功能,如动态 location、host/path 路由、负载均衡、动态 upstream、金丝雀发布、SNI 等。

4

OpenNJet 和 NGINX 是什么关系

OpenNJet 是一个基于 NGINX 开发的云原生应用引擎。它不仅扩展了 NGINX 的核心功能,比如增加了安全特性和代码重构的选项,还增加了对动态加载的支持,使得 NGINX 可以更灵活地运用在不同的服务器和中间件环境中。简单来说,是对 NGINX 的增强

OpenNJet应用引擎是面向互联网和云原生应用提供的运行时组态服务程序。具备环境感知、安全控制、加速优化等能力,可利用动态加载机制实现不同的产品形态,如API网关、消息代理、入口/出口控制器、边车、负载均衡和WAF等。提供了服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入、链路追踪、蓝绿发布等新功能特性。

目前,云原生应用引擎OpenNJet已经正式成为开放原子开源基金会的孵化期项目

5

什么是云原生应用引擎?OpenNJet 的有哪些优势

一、概念
原生应用引擎是一种可用于快速开发原生应用的软件开发工具。它将电脑程序的前端开发,后台管理开发以及前后端的联通性整合到一起,帮助开发者更轻松地开发原生应用。

二、特点

  1. 提供强大的技术支持。原生应用引擎有着丰富的技术支持,极大简化了原生应用的开发过程,可以帮助企业或开发者快速开发新功能。
  2. 优质的体验。通过原生应用引擎可以获得良好的体验,并实现轻量级的体验效果,让用户拥有更直观的原生应用体验。
  3. 低成本高回报的优势。由于原生应用引擎可以大幅缩短开发过程,相比手动开发,更可以节省不少的成本,同时也可以提高开发效率,从而极大提升项目回报率。
  4. 严格安全控制。原生应用引擎具有较为严格的安全控制,对用户隐私等重要信息进行加密,有效保护用户之间的数据传输安全性。

三、优势

  1. 快速构建应用。原生应用引擎可以快速构建应用,因为它可以使用JavaScript、HTML5等开发语言进行开发,大大缩短了应用的开发周期,帮助企业抢占市场机遇。
  2. 高效维护。通过原生应用引擎可以轻松的进行应用维护,因为引擎内部可以封装新功能,作为提升应用性能的一个强大机制,从而使得维护升级更加高效、便捷。
  3. 支持多端应用。原生应用引擎使用的是跨平台技术,可以让开发者在多个平台的应用中同步更新,从而实现多端应用的运行状态,更容易达到在各平台共享信息的目标。

四、缺点

  1. 对于原生应用引擎技术的要求较高。由于原生应用引擎构建的应用类型较复杂,既有传统应用的特点,又对流畅性有着极高的要求,因此,对开发者技术要求也比较高,容易产生技术的鸿沟。
  2. 功能限制。原生应用引擎只能支持某一种特定开发语言,而不能支持多种语言,所以会限制开发、运行过程中的一些日常功能,无法满足企业或开发者的需求变化。
OpenNJet 的有哪些优势

NJet应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPilot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩展性。NJet应用引擎助力企业实现云原生技术的平滑升级并大幅降低IT运营成本

在这里插入图片描述

6

OpenNJet 与国产化

OpenNJet 加入 OpenCloudOS 社区,完成技术兼容互认

OpenNJet 正式加入 OpenCloudOS 操作系统开源社区,并完成了 OpenNJet v1.2.3 与 OpenCloudOS 的相互兼容认证,测试期间,整体运行稳定,在功能、性能及兼容性方面表现良好

在这里插入图片描述
经过以上多项测试表明,OpenNJet 在 OpenCloudOS 多个版本的系统下均能稳定运行,在提供标准负载均衡能力的基础上,添加了国密算法的支持,尤其是针对业内痛点,提供动态配置能力,解决了配置变更时服务实例需要重启或重加载导致的生产系统影响问题,实现了性能无损的配置变更。OpenNJet 是 OpenCloudOS 系统上,您部署负载均衡及应用网关服务的又一选择。

OpenNJet 产品负责人单雷表示:

希望能借助 OpenCloudOS,使广大的 web 使用者能快捷的体验到 OpenNJet 的优秀特性,愿同 OpenCloudOS 一道,完善自主可控的软件基础设施。

(OpenNJet软件)V1.0正式通过国家版权局严格审核,并获得计算机软件著作权登记证书。

在这里插入图片描述

7

OpenNJet 使用教程

常用命令

 njet -h //显示帮助信息njet -p /tmpr/njet/ -c conf/njet.conf //启动​njet -t //测试配置信息是否有错误njet -v //显示版本njet -s stop 或者 kill -TERM {进程id} //快速停止njet -s reload 或者 kill -HUP {进程id}//重新加载配置
proxy_connect
Syntax: proxy_connect Default: none Context: server
启用“ CONNECTHTTP 方法支持。
proxy_connect_allow
Syntax: proxy_connect_allow all | [port ...] | [port-range ...] Default: 443 563 Context: server

此指令指定代理 CONNECT 方法可以连接到的端口号或范围的列表。 默认情况下,只启用默认的 https 端口(443)和默认的 snews 端口(563)。 使用此指令将覆盖此默认值,并仅允许连接到列出的端口。

当我第一次体验OpenNJet时,我被其在性能和灵活性方面的卓越表现所吸引。首先,OpenNJet基于NGINX引擎,利用了NGINX1.23.1版本的最新功能,为系统提供了出色的性能和稳定性。无论是处理大流量还是保障系统稳定运行,OpenNJet都表现出色。其次,OpenNJet提供了丰富的功能模块,包括API网关、消息代理、出入向代理、负载均衡、WAF等,这些模块可以根据需求进行动态加载,为系统提供了极大的灵活性和可定制性。例如,我可以根据业务需求轻松地添加API网关和负载均衡功能,而不需要重新配置整个系统。

8

OpenNJet 体验总结

从开发者角度来说,OpenNJet 基于 NGINX 进行二次开发,对 NGINX 是完全兼容的,直接替换 NGINX 使用 OpenNJet 的替换成本极低,也没有太大的学习成本,这对于技术切换选型来说,是非常重要的一点

OpenNJet 提供了较多的 API 接口,可以方便我们对接自己的 Devops ,或者后台管理系统进行控制

OpenNJet 提供了多种配置 OpenNJet 的方式以及动态配置功能,相对来说,兼容性比较高,另外 OpenNJet 也提供了 docker 形式部署,运行起来比较方便

OpenNJet 官网

OpenNJet Gitee

感谢亲的点赞、收藏、评论,一键三连支持,谢谢

感谢亲的点赞、收藏、评论,一键三连支持,谢谢

感谢亲的点赞、收藏、评论,一键三连支持,谢谢

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

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

相关文章

Llama 3 超级课堂

https://github.com/SmartFlowAI/Llama3-Tutorial/tree/main 第一节作业 streamlit run web_demo.py /root/share/new_models/meta-llama/Meta-Llama-3-8B-Instruct

一键静音,iPhone勿扰模式助你远离干扰

在现代社会的快节奏生活中,我们时常被各种各样的通知、铃声和提示音所打扰,无法专注地工作或享受宁静的时光。而iPhone的勿扰模式功能,就像是一位贴心的助手,能够一键帮你屏蔽这些干扰,让你在需要的时候拥有一个清静的…

窃鈇逃债,赧然惭愧——“天下共主”周赧王的结局

引子,债台高筑 周赧王五十九年(前256年),雒邑王都内,大周第三十七代天子、年近八十的周赧王姬延困坐在王宫内的高台上,愁容满面、沮丧悲切、束手无策;而王宫宫墙外不远处,是一大帮举…

流畅的python-学习笔记_设计模式+装饰器+闭包

策略模式 类继承abc.ABC即实现抽象类,方法可用abc.abstractmethod装饰,表明为抽象方法 装饰器基础 装饰器实际是语法糖,被装饰的函数实际是装饰器内部返回函数的引用 缺点:装饰器函数覆盖了被装饰函数的__name__和__doc__属性…

暗区突围pc版steam叫什么 暗区突围无限steam怎么搜

暗区突围pc版steam叫什么 暗区突围无限steam怎么搜 最近游戏圈热度最高的事件肯定是暗区突围PC版本的上线,在上线之前就惹得各位游戏爱好者们频频侧目,在正式上线之后更是吸引了大批的新玩家老玩家进行游戏。可是许多玩家发现在steam上找不到游戏&…

视频改字祝福/豪车装X系统源码/小程序uniapp前端源码

uniapp视频改字祝福小程序源码,全开源。创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性化祝福视频不再难! 想要为你的朋友或家人送上一份特别的祝福,让他们感受到你的真诚与关怀吗?现在…

【Python深度学习(第二版)(1)】什么是深度学习,深度学习与机器学习的区别、深度学习基本原理,深度学习的进展和未来

文章目录 一. 深度学习概念二. 深度学习与机器学习的区别三. 理解深度学习的工作原理1. 每层的转换进行权重参数化2. 怎么衡量神经网络的质量3. 怎么减小损失值 四. 深度学习已取得的进展五. 人工智能的未来 - 不要太过焦虑跟不上 一. 深度学习概念 先放一张图来理解下人工智能…

618必买好物清单来袭,这些数码产品值得你考虑!

是不是很多朋友和我一样,已经迫不及待地为618好物节做好了准备,准备开启一场购物盛宴!作为一名资深家居与数码爱好者,每年618好物节时我都会尽情挑选心仪的物品,因此今天我想和大家分享一下我的618购物清单&#xff0c…

智慧校园气象站有哪些优点

TH-XQ4智慧校园气象站具有多种优点,这些优点不仅提升了校园的气象监测能力,还为师生提供了更便捷、准确的气象服务。以下是智慧校园气象站的主要优点: 实时监测与预警:智慧校园气象站能够实时监测校园内的气象参数,如温…

Java--方法的使用

1.1什么是方法 方法顾名思义就是解决问题的办法,在程序员写代码的时候,会遇到很多逻辑结构一样,解决相同问题时,每次都写一样的代码,这会使代码看起来比较绒余,代码量也比较多,为了解决这个问题…

第十三章 计算机网络

这里写目录标题 1.网络设备2.协议簇2.1电子邮件(传输层)2.2地址解析(网际层)2.3DHCP(动态主动配置协议)2.4URL(统一资源定位器)2.5IP地址和子网掩码 1.网络设备 物理层:中继器,集线器(多路中继器) 数据链路层:网桥,交换机(多端口…

软件系统概要设计说明书(实际项目案例整理模板套用)

系统概要设计说明书 1.整体架构 2.功能架构 3.技术架构 4.运行环境设计 5.设计目标 6.接口设计 7.性能设计 8.运行设计 9.出错设计 全文档获取进主页 软件资料清单列表部分文档(全套可获取): 工作安排任务书,可行性分析报告&…

ChatGPT4 Turbo 如何升级体验?官网如何使用最新版GPT-4 Turbo?

本文会教大家如何教大家升级自己的GPT4到GPT4 Turbo,同时检验自己的GPT4 Turbo是否是最新版本的GPT-4-Turbo-2024-04-09 说明 新版GPT-4 Turbo再次重夺大模型排行榜王座,超越了Claude 3 Opus。 最新版本的GPT-4 Turbo被命名为GPT-4-Turbo-2024-04-09。…

深度学习之基于Vgg16卷积神经网络书法字体风格识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 书法是中国传统文化的重要组成部分,具有深厚的历史底蕴和独特的艺术魅力。在数字化时代&…

Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案

文章目录 一、vue中使用el-table的typeindex有时不显示序号Table 表格显示索引自定义索引报错信息解决方案 二、vue中Missing required prop: “value” 报错报错原因解决方案 三、el-table的索引值index在翻页的时候可以连续显示方法一方法二 四、vue3中Element Plus全局组件配…

root用户不能够sudo切换到普通用户解决办法

sudo命令可以让你以root身份执行命令,来完成一些我们这个账号完成不了的任务。但是并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中。 解决方法如下: 1、进入root模式,su,再输入正确密码 &#…

stm32单片机开发六、SPI通信协议

上一节看到了,I2C使用上拉电阻,导致了整个电路从低到高电平的时候出现了延时爬升,就会导致I2C的频率不高,一般在100K,告诉400K 但是SPI的速率可以达到很高,这就是SPI的优势 SS,从机选择线&#…

这些CTF,不仅学技术,还有巨额奖金!

前言: 不会吧,不会吧,不会还有安全er不知道CTF是什么吧? 在程序员的世界里,也有ACM这样的编程大赛,成为各路编程高手一较高下展示能力的平台。 那在网络安全的圈子里,各路黑客红客白帽子们又…

H3C Private VLAN实验

Private VLAN 实验1 实验需求 按照图示配置 IP 地址 在 SW1 上配置 Private VLAN,Primary VLAN 为 Vlan30,Secondary VLAN 为 Vlan10 和 Vlan20 SW2 通过 Vlan100 下行连接 SW1,要求 PC3 和 PC4 都能以 Vlan100 访问 PC5 在 SW1 上配置 …

day-30 三角形最小路径和

思路 典型的动态规划问题,状态方程可以理解为min[i][j]min[i][j]Math.min(min[i-1][j-1],min[i-1][j])&#xff0c;在考虑边界的特殊处理即可 解题方法 最后得到的最后一行中的最小值即为最小路径和 Code class Solution {public int minimumTotal(List<List<Integer&…