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

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

一、前言

云原生引擎是一种用于构建、部署和管理云原生应用程序的工具。它可以帮助开发人员更轻松地将应用程序部署到云端,并利用云计算资源来提高应用程序的可靠性、可扩展性和安全性。云原生引擎通常包括容器编排、服务发现、负载均衡、自动伸缩等功能,帮助开发人员更好地利用云计算平台的优势。

二、什么是OpenNJet 应用引擎

OpenNJet 应用引擎是基于 NGINX 的面向互联网和云原生应用提供的运行时组态服务程序,作为底层引擎,OpenNJet 实现了NGINX 云原生功能增强、安全加固和代码重构,利用动态加载机制可以实现不同的产品形态,如Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等产品形态等等。OpenNJet 在云原生架构中作为数据平面,除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信能力。在原有功能基础上增加了透明流量劫持、熔断、遥测与故障注入等新功能特性。


OpenNJet 最早是基于 NGINX1.19 基础 fork 并独立演进,OpenNJet 具有高性能、稳定、易扩展的特点,同时也解决了 NGINX 长期存在的难于动态配置、管理功能影响业务等问题。我们旨在适应国内特定的技术规范及标准,如国密算法套件支持、构建安全可控的云原生数据面,支撑我国云原生产业生态。

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

三、OpenNJet的优势

3.1 性能无损动态配置

动态配置能力解决NGINX长期痛点,实时更改NGINX配置而无需重新启动服务器。不中断务,快速响应流量需求变化

3.2 灵活的CoPilot框架

在实现高性能的数据处理能力的同时提供方便扩展的管理接口,如指标输出、健康检查、管理界面、配置同步等以 便灵活地、动态地监控、配置和管理系统的各个方面,同时确保数据面的稳定性和可靠性

3.3 支持HTTP/3

HTTP/3采用了全新的底层传输协议即QUIC,为您提供更快、更可靠和更安全的Web浏览体验,保证互联网数据传输效率的同时减少用户等待,并增强网络的安全性

3.4 支持国密

支持国密 SM2、SM3、SM4算法,场景主要为Server和反向代理两种场景,为您提供更强的数据保护,满足合规性

3.5 企业级应用

提供集群状态同步及集群配额控制、高可用及运维文档一体化功能,可以帮助企业更好地实现自动化部署、持续集成和持续交付等 DevOps 实践

3.6 高效安全

在提高现代应用的安全性、可用性和管理效率,特别是涉及到敏感数据、大规模集群和高可用性要求时,帮助企业更好地保护数据、提供可靠的服务,并简化运维任务

四、centos 安装

OpenNJet提供了多种安装方式,无论是省事的二进制安全包,还是利用apt,yum等包管理工具安装发行版,亦或是想要源码安装,都有着一套完整的流程供你选择。

链接跳转:https://njet.org.cn/docs/quickstart/


这里为了免去软件编译与安装的折磨。


为大家带来超详细的教程:

4.1 生成njet.repo

现在 njet 支持yum源安装了,目前只支持 centos 7 和 x86_64架构。具体安装方式如下:

首先使用vim打开

vim /etc/yum.repos.d/njet.repo

再往里面写入指定内容:

[opennjet]
name=OpenNJet
baseurl=https://njet.org.cn/download/linux/centos/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://njet.org.cn/download/linux/centos/RPM-GPG-KEY-OpenNJet

4.2 更新yum 缓存

yum clean all


yum makecache

4.3 安装 njet 或 njet-otel

yum install njet
yum install njet-otel

五、OpenNJet配置与部署

5.1 配置

以下是一个简单的 OpenNJet 配置文件示例,它将所有请求重定向到一个 HTML 文件。你可以通过修改 njet.conf 文件来配置 OpenNJet。

1.systemctl stop njet 先停止服务

2.编辑/usr/local/njet/conf/njet.conf

vim /usr/local/njet/conf/njet.conf

worker_processes auto;

cluster_name njet;
node_name node1;

error_log logs/error.log error;

helper ctrl modules/njt_helper_ctrl_module.so conf/njet_ctrl.conf;
helper broker modules/njt_helper_broker_module.so;
#helper ha modules/njt_helper_ha_module.so conf/vrrp.conf;

load_module modules/njt_http_split_clients_2_module.so;  
load_module modules/njt_agent_dynlog_module.so;  
load_module modules/njt_http_dyn_bwlist_module.so; 
load_module modules/njt_dyn_ssl_module.so;
load_module modules/njt_http_vtsc_module.so;
load_module modules/njt_http_location_module.so;
#load_module modules/njt_http_lua_module.so;
#load_module modules/njt_http_modsecurity_module.so;
#load_module modules/njt_http_dyn_modsecurity_module.so;

events {
    worker_connections  1024;
}
http {
    server {
       listen 80;
       server_name example.com;
       location / {
           root /var/www/html;
           index index.html;
       }
    }
}

上述配置中,我们在 HTTP 块中定义了一个名为“server”的服务器块。该服务器块监听 80 端口,并将请求的根目录设置为/var/www/html。如果请求的路径不存在,默认会返 回 index.html 文件。

5.2 部署web

mkdir /var/www/html
cd /var/www/html
vi index.html

添加内容如下

<html>
    <head>hello</head>
    <body>body</body>
</html>

手动创建html文件

5.3 启动njet服务

systemctl start njet

浏览器访问 Web 应用程序。只需输入服务器的 IP 地址或域名即 可访问 Web 应用程序。如果您按照上述示例配置 OpenNJet,则应将 Web 应用程序放置在 /var/www/html 目录中,并使用服务器的 IP 地址或域名访问它。

5.4 停止njet服务

systemctl stop njet

六、小结

随着云原生技术的迅速发展和普及,OpenNJet应用引擎作为基于NGINX的云原生解决方案,其未来的前景无疑将更加广阔和光明。

因为云计算的普及和云原生技术的不断成熟,所以有有着越来越多的企业将选择将业务迁移到云端,而OpenNJet作为高效的云原生应用引擎,可以为企业提供更稳定、可靠、安全的云服务。


当然上述所说的只是一方面,OpenNJet能做的事情远不止于此,我个人对OpenNJet是非常看好的。


590f92cff11449899067315e7eaea734.png

目录
相关文章
|
1月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
1月前
|
运维 Cloud Native 安全
云原生技术在现代企业中的应用与挑战####
本文探讨了云原生技术在现代企业IT架构中的关键作用,分析了其带来的优势和面临的主要挑战。通过实际案例分析,揭示了如何有效应对这些挑战,以实现业务敏捷性和技术创新的平衡。 ####
|
1月前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
3月前
|
Cloud Native 安全 物联网
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
|
1月前
|
Kubernetes Cloud Native 物联网
云原生技术在现代软件开发中的应用与挑战####
本文探讨了云原生技术的兴起背景、核心理念及其在现代软件开发中的广泛应用。通过具体案例分析,揭示了云原生架构如何促进企业数字化转型,并指出了在实施过程中面临的主要挑战及应对策略。 ####
|
30天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1月前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
2月前
|
监控 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
本文将深入探讨云原生技术如何改变现代企业的运作模式,提升业务灵活性和创新能力。通过实际案例分析,我们将揭示云原生架构的关键要素、实施步骤以及面临的挑战,为读者提供一套清晰的云原生转型指南。
|
2月前
|
消息中间件 Cloud Native 持续交付
云原生技术在现代企业中的应用与优势###
本文深入探讨了云原生技术在现代企业中的具体应用及其带来的显著优势。随着云计算的普及,云原生作为一种新兴的技术架构,正逐渐成为企业数字化转型的关键驱动力。文章将详细介绍云原生的核心概念、主要技术组件以及在实际业务场景中的成功案例,旨在为读者提供一个全面且实用的参考框架,以便更好地理解和应用云原生技术。 ###
|
2月前
|
Cloud Native 持续交付 云计算
深入理解云原生技术及其在现代IT架构中的应用
在数字化浪潮的推动下,云原生技术已成为企业转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、优势以及如何在企业中实现云原生架构。我们将一起揭开云原生的神秘面纱,了解它如何助力企业快速适应市场变化,提升业务的灵活性和创新能力。