实录:利用OpenNJet实现动态upstream域名解析
场景
在使用NGINX做负载均衡进行反向代理的场景中,使用upstream 管理一组有效的上游服务器地址。 地址可以包含两类:server ip 和server name。
其中server name在nginx 启动时,必须统一解析为server ip,在整个运行过程中,upstream 中只包含解析后的server ip,并且数量,以及ip 是不会改变的,即使dns 服务器上相应的server name 对应的ip 地址列表,已经进行了更新,删除,添加。Nginx 也不会进行动态更新,如果要更新,只能重新reload nginx。
启动nginx 前:
upstream backend { server backend1.example.com; server 127.0.0.1:888; }
启动nginx 后:
upstream backend { server 192.168.40.139; server 127.0.0.1:888; }
问题
- 运行过程中,如果域名对应的某个IP的机器或服务出现故障,无法进行动态隔离,必须修改 DNS 服务器上Server Name 对应的 IP 列表,并重新 Reload NGINX,导致业务中断。
- 运行过程中,如果在 DNS 服务器上,对server name 对应的 IP 进行,修改,添加,删除,也无法及时的反应到 NGINX 上来,也必须重新 Reload NGINX。
OpenNJet 解决方案
upstream backend { resolver 192.168.40.1 valid=10s; //valid失效时间。 server backend1.example.com resolve;//resolve 指明需动态更新 server 127.0.0.1:888; }
在upstream 里配置resolver 指定 dns 服务器地址,以及域名失效时间valid=10s, 也就是每隔10秒钟,重新请求dns 进行域名解析。域名解析对应的 IP 列表的变化,添加,删除,修改等会及时的同步到upstream 中,这样就可以通过修改dns 服务器上对应server name 的ip 列表,对服务的 IP 进行动态调整。
OpenNJet 最早是基于 NGINX1.19 基础 fork 并独立演进,随着 NGINX 版本迭代,吸收上游 NGINX 的更新,已经同步更新到 NGINX1.23.1 版本,OpenNJet 具有高性能、稳定、易扩展的特点,同时也解决了 NGINX 长期存在的难于动态配置、管理功能影响业务等问题。
作为底层引擎,OpenNJet 利用动态加载机制可以实现不同的产品形态,如 API 网关、消息代理、出入向代理,负载均衡,WAF 等等。在云原生架构中,OpenNJet 除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入等新功能特性。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
迁移协调器:方法和模式
Migration Coordinator (迁移协调器)是一款完全免费的工具,内置于 NSX Data Center 中,可帮助将NSX for vSphere迁移到 NSX(又名 NSX-T)。Migration Coordinator最初是在 NSX-T 2.4 中引入的,有几种实现迁移的模式。通过多年来与客户的交流,我们不断扩展Migration Coordinator的功能。如今,Migration Coordinator 支持 10 多种不同的方式将NSX for vSphere迁移到 NSX。 在本系列博客中,我们将介绍可用的迁移方法以及每种方法所涉及的准备工作。本系列博客将从多个不同角度帮助您选择将NSX for vSphere迁移到 NSX 的正确模式。 3 个标准迁移模式 3个高级迁移模式 3 个用户自定义拓扑结构下的模式 最后,NSX Global Manager UI上还提供了 2 种专用于Cross-VC 到 Federation的模式 这些模式中,有些采用的是"cookie-cutter"方法,只需很少的准备工作即可完成迁移,而有些则允许你根据自己的需求自定...
- 下一篇
OpenHarmony 4.0 Beta2
版本概述 OpenHarmony 4.0版本标准系统能力持续完善:ArkUI进一步增强基础组件能力,应用框架支持ArkTS卡片代理刷新,应用包支持应用、支持原子化服务数据共享、支持企业应用的安装管理,分布式软总线支持会话级的传输能力协商,分布式数据管理UDMF(统一数据管理框架)支持跨设备拖拽场景下对分布式目录的文件临时授权、文件管理支持公共图片文件在设备端和云端进行同步,媒体进一步增强音频/媒体播放/音视频编解码能力,图形渲染库升级至Skia 0310新版本,窗口控件化能力继续增强,事件通知支持选定通知并批量删除通知,安全基础提供DSA数字签名算法能力,ArkCompiler方舟运行时支持JSContext功能、支持动态PGO功能,DFX提供统一的采集框架能力,方便开发者对应用的调试调测。 特性说明 应用框架 更新ArkTS卡片刷新方式,支持通过数据代理的方式刷新内容。 ArkTS卡片支持静态卡片配置、静态图展示。 ArkUI Xcomponent组件支持Texture模式绘制、popup支持位置自定义、弹框支持通过键盘ESC键逐层退出、ListItem支持长距离左滑删除手势、Ark...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址