基于Portal的NJet模拟环境
背景介绍
作为开发人员,经常碰到的问题是代码开发、测试都是好的,但在客户现场/生产环境,总是出各种各样的问题。这种问题,有可能是实现的逻辑,但更多的情况是现场人员的配置问题导致。因此开发人员需要一个和现场完全一致的环境,进行现场的故障复现,配置验证。
NJet作为应用引擎,应用场景复杂,配置灵活,当然也面临此类问题。为了快速模拟 NJet 配置,验证整条业务链路是否通畅,同时检验系统在高压、大配置数据场景下的承载能力,并确认证书、限流等关键机制是否生效,NJet的模拟环境应运而生。我们期望通过该环境:
- 自动构建、完全模拟客户的网络环境拓扑
- 可视化验证客户的配置有效性
- 可进行批量/单独的功能测试
- 能够进行域名解析,证书校验,客户端地址等模拟,辅助功能验证
同时,出于简化GUI管理的目的,该模拟应用利用NJet存在的Portal能力,避免了相关的认证授权的开发工作。
NJet模拟应用的安装
随NJet4.0发布,NJet发布了模拟应用的安装包,因此需首先安装Portal安装包,在Portal部署完成后,通过GUI安装模拟应用
- 参考 https://njet.org.cn/cases/njet_portal/ 安装NJet Portal
- 在portal 上添加 “Portal版NJet模拟环境应用, 目前发布的模拟应用包为simulate-app_1.0.2.npk,请从NJet的release站点下载
如上图所显示,模拟应用部署后,请参考 https://njet.org.cn/cases/njet_portal/ 对模拟应用完成授权,用户关联。
- 模拟应用配置
为支持网络拓扑模拟,以及调用可示化,模拟应用需要特定的配置,如下。请维持如下
- 登录portal应用后,就可以看到模拟应用了
功能展示
配置导入
- 功能模拟依赖于导入配置文件,目前配置文件需要使用json格式,目前需要手工把nginx格式的配置文件转换为json,paste或上传,在下个版本中,将直接支持nginx.conf格式的配置
- 除导入外,模拟应用中也提供了多种示例配置,供参考
- 除配置文件外,还可以配置模拟访问的特定的client ip,供特定的业务模拟使用
如下图所显示,可以看到页面中有很多实例配置,可自由切换,也可以导入JSON文件的配置
拓扑展示
如点击 示例配置1 (无证书)可直接进进入模拟页面,该页面直接生成了包括客户端->proxy->应用服务的网络拓扑,并详细描述proxy层面的业务配置,需着重说明的是,模拟环境中显示的IP地址,完全模拟了实际客户环境的地址。如下图所显示,展示了一个具备两个server的proxy层配置(test.backenda.com和test.backendb.com)
业务流程验证
在模拟环境中,下侧为web terminal,可以输入特定的命令,单条或批量发送HTTP请求,验证配置的正确性。目前内置了curl和wrk命令,前者进行单条的功能测试,后者进行批量的测试
- 单条测试
如下图所显示,单条测试中,在GUI界面可以看到完整的执行路径(图上的虚线涉及的点),比如通过curl发了一条到testbackenda.com的请求,可以从图上直观的看到,请求直接由proxy层的path “/”处理了,没有转发到后端的应用服务
- 批量测试
为了验证配置中某些特定的功能,如限流等,可以在web terminal输入wrk命令进行压测(批量命令的执行路径不会更新到GUI中)
其他功能
模拟应用除上述展示的能力外,还实现了如下功能,详情参考NJet docs站点,具体有
- 通过导入证书,可以完整的模拟HTTPS proxy能力
- 完整的模拟历史,供配置分析
- Web terminal的实现帮助
- 客户端ip地址的任意更换,支持特定的算法
- 超大规模的模拟配置支持(可支持多大512个server,1000个location,512个后端服务)
参考说明
- 目前只支持json格式的配置导入,json格式请参考,json配置文件支持
- 依赖NJet 4.0.0
- 出于安全考虑,NJet安装后,需要修改 agw_admin密码才能进行portal应用的安装
- 在下一版本中,将直接支持nginx.conf格式的导入,从而服务于nginx向NJet的迁移
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
从 OpenSearch 到 Apache Doris:领创集团日志系统升级实践,降本 45%
随着业务全球化扩展与数字化运营的深入推进,日志系统的规模和复杂度不断攀升,原有基于 OpenSearch 的日志平台逐渐难以满足成本控制、性能保障和可维护性等多维需求。为应对持续增长的数据压力和更灵活的分析场景,领创集团技术团队启动了日志系统的架构升级实践,并最终选择 Apache Doris 作为新一代日志系统的核心。实现了综合成本下降超 45%、查询性能提升 5 倍、日志写入达到准实时以及灵活的运维策略等一系列显著收益。 一、业务背景 领创集团(Advance Intelligence Group)成立于 2016 年,是 AI 技术驱动的科技独角兽企业,致力于建立以 AI 为核心的金融+数据平台,让每个人都能更轻松、公平地获得优质的金融产品与服务。 集团总部位于新加坡,集团旗下拥有两大业务线,ADVANCE.AI 是全球领先的人工智能与金融科技企业,提供数字身份验证、KYC/KYB、合规、风险管理和信用信息等服务。目前,已与银行、金融服务、金融科技、跨境支付、交易平台、零售和电商等行业客户建立了合作伙伴关系,服务遍布六大洲;Atome Financial 是东南亚领先的数字金融平...
-
下一篇
巾帼力量助力 Flink 引擎 CDC 源模式演进支持 | Apache SeaTunnel 开源之夏成果
今年的开源之夏活动已渐近尾声,历经半年多的潜心开发,Apache SeaTunnel 项目的开发者们收获满满。今天,让我们聚焦于在 Apache SeaTunnel 所支持的 Flink 引擎上实现 CDC 源模式的项目。从项目的初始构思,到一步步的开发实践,再到完成后的感悟,全方位领略这一成果的诞生历程。 接下来,让我们通过采访,走进这位来自北京科技大学的开发者的开源世界,看看她是如何兼顾繁重的学习任务,圆满完成这次开发任务的吧! 个人介绍 项目导师:Lucifer Tyrant 姓名:董嘉欣 学校 + 专业:北京科技大学 大数据管理与应用 GitHub ID:147227543 个人感兴趣或擅长的研究领域:大数据平台开发,曾在快手,美团的数据平台部做数据平台开发工作 兴趣爱好:读一些技术文档,尝试业界新技术栈,看小说 项目名称 Flink引擎CDC Source Schema Evolution支持 项目背景 在实时数据同步场景中,源表的schema变更,如新增列、修改列类型等是常见需求。目前Apache SeaTunnel已经在自研引擎上支持了CDC schema evoluti...
相关文章
文章评论
共有0条评论来说两句吧...









微信收款码
支付宝收款码