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

目录
相关文章
|
11天前
|
监控 Cloud Native 安全
云原生技术:推动企业数字化转型的引擎
随着云计算技术的不断发展,云原生技术已经成为了企业数字化转型的重要引擎。本文将深入探讨云原生技术的定义、优势以及在企业中的应用,帮助读者更好地理解这一新兴技术。
|
12天前
|
机器学习/深度学习 算法 Cloud Native
利用机器学习进行情感分析:从理论到实践云原生技术在现代软件开发中的应用与挑战
【5月更文挑战第31天】本文旨在深入探讨机器学习在情感分析领域的应用。首先,我们将解释什么是情感分析以及为什么它在今天的世界中如此重要。然后,我们将详细介绍几种主要的机器学习算法,包括决策树、随机森林和神经网络,以及它们如何被用于情感分析。最后,我们将通过一个实际的案例研究来展示这些理论在实践中的应用。
|
1天前
|
监控 Cloud Native 安全
云原生架构:现代应用的未来之路
随着数字化转型的推进,云原生架构成为了现代应用开发的关键。本文将探讨云原生架构的基本概念、优势以及实践指南,帮助读者更好地理解并应用云原生技术,为未来的应用开发之路铺平道路。
|
2天前
|
运维 Cloud Native 安全
云原生应用的挑战与机遇
【6月更文挑战第10天】云原生应用凭借高扩展性与灵活性成为现代开发的热门选择,但同时也带来技术复杂性、安全风险和成本投入等挑战。尽管如此,其机遇也不容忽视:提高业务连续性、优化资源配置及推动数字化转型。企业需应对挑战,抓住机遇,以实现技术升级和价值增长。未来,云原生应用将在更多领域发挥作用。
|
3天前
|
Cloud Native 持续交付 云计算
云原生技术:构建现代应用的基石
【6月更文挑战第8天】本文深入探讨了云原生技术,一种革新性的软件开发方法,它支持在云计算环境中构建和运行可扩展、高效的应用程序。我们将分析云原生的核心概念、优势以及如何通过容器化、微服务架构和持续集成/持续部署(CI/CD)等实践推动应用的现代化。
|
5天前
|
边缘计算 Cloud Native 持续交付
云原生技术的发展与应用前景
近年来,随着云计算技术的快速发展,云原生技术作为一种新兴的软件开发和部署范式受到了广泛关注。本文将从云原生技术的定义、特点和发展历程入手,探讨其在当今技术领域中的应用前景和发展趋势。
|
5天前
|
人工智能 运维 Cloud Native
探索未来科技趋势:云原生平台的发展与应用
随着数字化时代的到来,云原生平台作为新一代技术的代表,正日益受到关注。本文将深入探讨云原生平台的定义、特点以及发展趋势,分析其在未来科技领域的应用前景,为读者带来对未来科技发展的新理解。
17 0
|
5天前
|
运维 Cloud Native 云计算
云原生技术在企业级应用中的应用与前景分析
随着云计算技术的快速发展,云原生技术作为一种优秀的应用架构模式,正在逐渐受到企业和开发者的关注。本文通过分析云原生技术在企业级应用中的应用情况和未来发展前景,探讨了其在加速企业数字化转型、提升应用性能和灵活性等方面的优势,以及面临的挑战和解决方案。
15 0
|
6天前
|
Cloud Native 持续交付 API
云原生技术:未来软件开发的引擎
【6月更文挑战第5天】在这篇文章中,我们将深入探讨云原生技术,这是一种新兴的软件开发方法,它利用云计算的优势,以更高效、更灵活的方式构建和运行应用程序。我们将解释云原生技术的核心概念,包括容器化、微服务、持续集成/持续部署(CI/CD)和声明式API,并讨论它们如何改变软件开发的未来。
|
6天前
|
Cloud Native 物联网 持续交付
云原生技术的兴起与应用
【6月更文挑战第5天】在这篇文章中,我们将探讨云原生技术的起源、发展及其在现代IT行业中的应用。我们将分析云原生技术的关键组成部分,以及它们如何改变软件开发和部署的方式。此外,我们还将讨论云原生技术面临的挑战和未来发展趋势。

热门文章

最新文章