OpenNJet,够轻更强云原生应用引擎

前言:

         在正式介绍OpenNJet之前,我们先来看看它的技术架构,如下图所示,OpenNJet正是NGINX的Pro版,在100%兼容NGINX基础上,新增了动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。

        NGINX作为我们熟悉的老大哥,以其高效的异步事件驱动模型而闻名,在高流量场景下能够保持出色的性能,而不会像传统的同步服务器那样因为每个连接都占用一个线程而导致资源耗尽。今天给大家介绍的OpenNJet继承了

        NGINX的高性能、并拥有功能多、强安全、可扩展、可编程、易管理等独特优势。那接下来跟着我一起从0-1揭开OpenNJet的神秘面纱吧。

一、初识OpenNJet

  1、颜值:高矮胖瘦?

        前面我们了解到OpenNJet拥有很多独特的优势,为了实现这些复杂的功能,OpenNJet应该比较重。因此在我的潜意识中OpenNJet应该是一款"重量级的嘉宾",然而OpenNJet的RPM安装包,只有仅仅的6M左右,真是一个字绝,因此OpenNJet给我的第一印象是够轻

2、初体验:3分钟上手

        在被OpenNJet够轻震撼的同时,我开始了我的体验之旅。OpenNJet的整个安装过程也非常简单,本次以Centos7的操作系统为例,来详细阐述整个安装过程。

  2.1安装前准备

        NJet官方提供centos,ubuntu,cloudOS等多个版本的2进制安装包,及软件源。如果你也是选择RPM的安装方式,我们需要先检查自己的Centos的版本,是不是Centos7的。

检查linux版本命令。

cat /etc/os-release

2.2安装启动

          在检查完我们系统版本后,我们需要检查自己的账号是不是root账号,有没有连接外网等,如果我们不是root账号,我们需要在安装命令前面加上sudo来提权安装,服务器没有连接外网的情况下,我们可以点击下面链接先下载到本地再上传至linux系统安装盘中。

  https://gitee.com/njet-rd/njet/releases/download/v2.0.1/njet-2.0.1-1.el7.x86_64.rpm

  在线安装命令

下载njet2.1.0版本

sudo wget https://gitee.com/njet-rd/njet/releases/download/v2.1.0/njet-2.1.0-1.el7.x86\_64.rpm

#通过yum进行本地安装 sudo yum localinstall ./njet-2.1.0-1.el7.x86\_64.rpm

#启动njet sudo systemctl start njet

图2.2.1下载安装包效果图

图2.2.2yum本地安装效果图

图2.2.3成功启动效果图

Tips:整个过程只需三句命令,如果我们顺利的话,整个过程大概在三分钟左右可以完成。需要注意的是如果我们在下载安装包过程中遇到网络异常,被异常中断后,再次下载会默认将安装包重命名。如下图所示,此时我们需要将旧的安装包进行删除,再重命名我们新下载的安装包,继续后续的操作。

        如上图所示,再次下载安装rpm安装包被重命名为...rpm.1,这里需特别注意下。

二、OpenNJet实战表现

  1、动态配置体验

        我们通过简单的三步命令完成了OpenNJet的安装和启动,这是我们可以通过{ip}:8081/doc/swagger/,进入OpenNJet的swagger 页面。在swagger 页面中可以对各功能api的访问,比如健康检查、动态access log 配置、动态VTS配置、动态 location 配置、动态 upstream api 配置等。

        通过简单的web界面,就可以动态了解各api的GET/POST请求,轻松实现各种云原生api接口的配置接口访问,不愧是下一代云原生应用引擎,够强。

2、 GUI 参数动态配置

        我们知道在NIGINX中参数都是静态配置,这导致每次修改一个小参数都必须重启服务才能生效,这对于云原生应用来说是非常的不友好。如下图所示我们通过{ip}:8081/doc/gui/,进入OpenNJet参数动态配置界面,通过点击加号新增log模块,点击保存两步就完成http_log模块的设置。

3、应用代理

        企业出于数据安全等方面的考虑,很多应用都是在内网运行,但有时我们又需要与外部的一些应用集成,如企业微信、钉钉、飞书等。但我们又不能直接开放外网,此时我们就需要一款优秀的代理软件来完成与外部应用的通信。下面我们来看看OpenNJet是怎么快速实现我们的BI应用与企业微信代理通信。

        在代理服务器上配置 OpenNJet代理。修改配置文件conf/njet.conf,在http{}之间添加如下代码:

server {
    listen 8113;  // 代理服务器端口
    server_name frbi.cngrgf.com.cn;  //代理服务器IP或者域名
    access log logs/fr/access.log; //记录运行日志
    error log logs/fr/error.log;//记录错误日志
    location / {
        proxy_pass http://10.110.13.109:80;//应用服务器内网地址
        proxy set header Host frbi.cngrgf.com.cn;//外网访问域名
    }
    
}

        如找到njet.conf文件,添加代理信息,保持后进行功能测试。

        在没有代理前,我们只能通过内网ip的方式来访问BI应用服务器。

        通过OpenNJet代理后,我们就可以通过外网域名的方式来访问我们的BI应用了,这样我们就可以通过OpenNJet代理与企业微信进行通信。

        通过OpenNJet代理后,BI系统就可以及时将企业发生的异常信息推送至企业微信群,大大降低了异常风险,提高了异常关闭的及时率和成本。

        为了让大家更直观的感受,我们将推送的企业微信消息在浏览器端打开,我们可以看到,通过 OpenNJet代理转发后,将我们的异常信息推送到了企业微信中。

三、总结

        总的来说,OpenNJet是一款轻量化的云原生应用引擎,强大而不笨重,易上手、不熬人。因其OPEN的api接口加上动态应用配置,更能满足企业对应用软件7*24小时高可用、高性能的运行需求。

        当然OpenNJet还有很多应用场景等待挖掘,如果你也对OpenNJet感兴趣,不妨点击下方链接试用。欢迎在下方留言讨论,一起探索OpenNJet更多神奇的应用。

https://njet.org.cn/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第十一讲:指针(3)

第十一讲:指针(3) 1.字符指针变量1.1存储一个字符1.2存储一个字符串1.3一个有趣的面试题 2.数组指针变量2.1什么是数组指针变量2.2数组指针变量的初始化 3.二维数组传参的本质4.函数指针变量4.1介绍函数指针变量4.2 两段有趣的代码4.2.1代码1…

华为 Huawei 交换机 配置 Dot1q 终结子接口实现同设备 VLAN 间通信示例

组网需求 企业的不同部门拥有相同的业务,如上网、 VoIP 等业务,且各个部门中的用户位于不同的网段。目前存在不同的部门中相同的业务所属的VLAN 不相同,现需要实现不同VLAN中的用户相互通信。 如 图 7-7 所示,部门 1 和部门 2 中…

机器学习的一些知识点分享

下面数据集中,第2个样本的第4个属性的值是( )。 A 52 B 男 C 50 D 49 本题得分: 2分 正确答案: D 2.单选题 (2分) 10-折交叉验证是把数据集分成( )个子集,将其中&#xff…

好景盒式磁带随声听

少年时代柜子里翻出来的磁带录音机电路板 两颗芯片,FM芯片,电机驱动 CD9088CBD6650

第十三届蓝桥杯决赛(国赛)真题 Java C 组【原卷】

文章目录 发现宝藏试题 A: 斐波那契与 7试题 B: 小蓝做实验试题 C: 取模试题 D: 内存空间试题 E \mathrm{E} E : 斐波那契数组试题 F: 最大公约数试题 G: 交通信号试题 I: 打折试题 J: 宝石收集 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&#x…

VM虚假机联网(无代码,超简单)NAT模式

1、左边顶上编辑里面最下面找到虚拟网络编辑器2.启用管理员特权3.重新创建一个NAT模式的网络(名称随便一个) 4.打开这两个设置里面的东西进行拍照并记住IP区间和网关,等下要用; 5.打开虚拟机,右上角,下标点…

sql注入中的替换技巧。

目录 1:注释的替换 2:空格替换 3:大小写混合绕过及双写绕过 4:等号的绕过 5:单双引号的绕过 1:注释的替换 注释在sql注入中非常重要,因为会使用它来闭合我们注入的sql语句。 当以get方式提…

idea运行项目报错提示:java: 错误: 不支持发行版本 19,让我来看看

在项目经常切换jdk时,这个error经常能遇到“不支持发行版本19”,这个问题修改起来其实很简单,但在真正操作到能够解决问题的那一步前,通常习惯先去查看配置的jdk版本是否是选择正确的,也就是先确认当前这个项目选择的j…

【全部更新】2024数维杯B题详细成品文章代码思路结果分享

生物质和煤共热解问题的研究 摘要 这个问题背景主要涉及生物质和煤共热解的研究。在共热解过程中,生物质和煤一起在高温和缺氧条件下热解,产生气体、液体和固体产物。研究生物质和煤共热解油的产率和品质机理对提高能源利用效率、促进资源综合利用和确保…

该问题未得到解决(仅记录)

https://releases.ubuntu.com/bionic/进入网页下载ubuntu 选择烧录软件将下载的Ubuntu烧录到U盘中 之前用这个U盘烧录过一次,成功了,后来应该是U盘受损或者是什么其他原因使得用这个U盘总是烧录失败

关于Ardupilot的固定翼(plane)的控制

起因 由于项目原来是使用的四旋翼,并且是PX4版本的四旋翼; 如今需要对无人机固定翼进行控制,并要求使用Ardupilot的固件进行研究。 特定在此记录对固定翼的学习,以和大家分享观点和交流学习。 PX4和Ardupilot关系 PX4和Ardupilot都是固件,固件就是软件的意思。两者都是…

重载,重写,重定义,纯虚函数,多态习题

只要不够成重写就是重定义。 重定义: 抽象类: 包含纯虚函数的类就是抽象类。 1.纯虚函数的作用,强制子类去完成重写。 2.表示抽象的类型。 抽象就是在现实中没有对应的实体。 1. 下面哪种面向对象的方法可以让你变得富有( a) A 继承 B…

四、用nodejs写新增接口

(1)新增数据库 选择不区分大小写 在新建查询内编译 (2)新建提交代码的表 create TABLE code_record( id INT not null auto_increment, name VARCHAR(200) not null, course VARCHAR(200) not null, mail VARCHAR(200) not null…

Spring框架学习笔记(二):Spring IOC容器配置 Bean,分别基于XML配置bean 和 基于注解配置 bean

1 Spring 配置/管理 bean 介绍 Bean 管理包括两方面 :创建 bean 对象;给 bean 注入属性 Bean 配置方式:基于 xml 文件配置方式;基于注解方式 2 基于 XML 配置 bean 2.1 通过类型来获取 bean 方法:给getBean传入一…

传输层之 TCP 协议

TCP协议段格式 源/目的端口号:表示数据是从哪个进程来,到哪个进程去。 序号:发送数据的序号。 确认序号:应答报文的序号,用来回复发送方的。 4 位首部长度:一个 TCP 报头,长度是可变的&#xff…

STM32学习和实践笔记(25):USART(通用同步、异步收发器)

一,STM32的USART简介 USART即通用同步、异步收发器,它能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。 UART即通用异步收发器,它是在USART基础上裁剪掉了同步通信功能。 开发板上…

【Web】CTFSHOW 七夕杯 题解

目录 web签到 easy_calc easy_cmd web签到 CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总_ctf中字符长度限制下的命令执行 5个字符-CSDN博客7长度限制直接梭了 也可以打临时文件RCE import requestsurl "http://4ae13f1e-8e42-4afa-a6a6-1076acd08211.c…

Vision Mamba:高效视觉表示学习双向状态空间模型,超越Vision Transformer!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Model 引言:探索视觉领域的新方向 在计算机视觉领域&…

翻工第二次 Ant Design Pro 下载,发现问题,电脑网络配置有误,魔法了

一、相关网址链接 鱼皮的用户中心项目 (前端Ant Design Pro构建) 语雀 ## 没有选择umi版本这一步 Issue #11144 ant-design/ant-design-pro GitHub 关于umi ui图标未显示问题_umi ui不出现-CSDN博客 二、存在问题 导致下载速度慢 本人镜像代码写…

双向链表(详解)

在单链表专题中我们提到链表的分类,其中提到了带头双向循环链表,今天小编将详细讲下双向链表。 话不多说,直接上货。 1.双向链表的结构 带头双向循环链表 注意 这几的“带头”跟前面我们说的“头节点”是两个概念,实际前面的在…
最新文章