最新要闻
- 今日最新!东京奥运会陷入丑闻:审计人员发现实际成本高出20%
- 经典大富翁游戏《富甲天下3》登陆Steam 2023年1月9日发售
- 全球速看:美国“毅力号”在火星上丢了个东西:意义重大
- 微软:这四款游戏大作被索尼永久禁止登陆Xbox平台
- 天天看热讯:本田底气十足 全新一代皓影上市:18.59万元起
- 一个比一个经典!卡梅隆电影角色人气排名:终结者T-800第一
- 【天天快播报】知名游戏在美区遭和谐:美女角色太性感
- 【天天速看料】千元档亮度天花板!哈趣K1 Pro投影仪评测:真1080P分辨率白天也清晰
- 猫是牛顿流体 还是非牛顿流体?中科院严肃科普
- 这也可以?20万法国人请愿重踢世界杯决赛 阿根廷赢的不光彩
- AMD RX 7900 XT破发:10天便宜快400块
- 风暴袭击!美国多个州宣布进入紧急状态 道路能见度可能为零
- 快资讯:感受彼此体温 杰士邦超薄尊享30只礼盒装19.9元
- 世界资讯:乘联会喊话:千方百计增加居民收入 大家踊跃买汽车稳消费
- 环球报道:韩国载有216人客机飞行中出现异常:靠一台发动机平安降落
- 天天热文:特斯拉股价年内大跌60%!最大空头:明年可能会更惨
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
云原生时代,18 岁的 NGINX 过时了吗?
如今,全球半数以上(55%) 的网站都基于 NGINX 运行,差不多相同比例 (53.7%) 的中国网站在 NGINX 开源版上运行。作为最受欢迎的网络服务器,NGINX 自发布到现在已经有 18 年了,它现在有什么样的发展规划呢?
近日,NGINX Sprint China 2022 大会于线上举行,F5 NGINX 讲解了 NGINX 在云原生下的产品路线图,宣布推出 NGINX Kubernetes Gateway 以及 MARA 参考架构 1.0 版本,并且 HTTP3 和 QUIC 也将合并到下一个版本中。“如果有人说原先的 NGINX 产品系列已经过时,那我只能说你并没有密切关注我们的动向”,F5 NGINX 总经理 Rob Whiteley 在主题演讲中这样说道。
NGINX 的进化
(资料图片仅供参考)
在数字化技术的推动下,应用现代化正成为产业发展的趋势与共识。F5 中国区软件事业部总经理章澍分享了 NGINX 认为的,从传统应用向现代化应用发展过程中将会历经的三次浪潮:第一次浪潮实现了应用的大规模并发和扩展,而如今正在经历的第二次浪潮,其特征是实现应用解耦为微服务并通过 API 连接。这波浪潮将极大地推动自动化技术的发展,感知可控、随需而变的应用也将应运而生。也就是说,在不远的将来,全世界会迎来以感知可控、无人工干预的自适应应用为标志的第三次浪潮。
NGINX 的诞生
NGINX 于 2004 年推出。在早期的互联网时代,随着 Web 2.0 的兴起,用户数量呈几何级数增长,互联网不再是单纯的浏览 Web 页面,逐渐开始进行交互,应用程序的逻辑也变的更复杂,从简单的表单提交,到即时通信和在线实时互动。这种用户体量的上升以及互动请求的增加,也给服务器带来了压力。
NGINX 的诞生也是为了实现大规模的并发和扩展,相当多的企业看到了 NGINX 的性能优势并开始使用它。 Igor Sysoev 于 2011 年辞去了在 Rambler 的工作,并创立了 NGINX, Inc.。几年后,NGINX Plus 发布了,这是一个带有一些附加功能的版本,并且在商业上取得了巨大的成功。2019 年, NGINX, Inc. 被 F5 Networks 以 6.7 亿美元收购。
NGINX 采用异步模式,且轻量级,采用 C 进行编写,在性能上的出色表现是击败 Apache 网络服务器的关键。但 NGINX 取得成功,却不仅仅是因为 NGINX 是一个网络服务器,它还具备负载均衡器、反向代理、邮件代理和 HTTP 缓存等功能,提供了构建安全、可靠的 Web 应用程序所需的几乎所有方面的能力。
比如,在 2000 年代早期,一台硬件负载均衡服务器动辄从十几万到几十万不等,因此当服务规模不大时,直接采购硬件负载均衡服务器对于很多中小公司并不划算,而通过 Web 服务器的反向代理的方式却是当时比较经济的方式。一般 Web 服务器都有反向代理功能,NGINX 则是其中典型代表。
在此基础上,NGINX 和 NGINX Plus 平台又由多个分散的同类最佳工具组成,当它们串联使用时,可以以各种“风格”进行部署,以满足企业的多种需求,从而成为了市场占有率第一的网络服务器。
云原生时代的 NGINX
如果说互联网的崛起导致应用的大规模并发和扩展,是我们经历的第一次浪潮,那么微服务和容器化的兴起,也可以算作是我们正在经历的第二次浪潮。
在第二波浪潮下,企业更关注于 Kubernetes 和容器的部署,但 Kubernetes 缺乏生产环境中的应用所需的应用交付、可观察性以及安全防护功能,因此一个好的生产级 Kubernetes 平台需要进行深思熟虑的定制和调整。
NGINX 2021 年的社区调查显示,2/3 的人都已经或打算在生产环境中使用 Kubernetes,但是都有着对于自身知识技能以及对于 Kubernetes 的复杂性、安全防护和扩展性的担忧。为了构建坚实的 Kubernetes 基础,NGINX 通过添加 Ingress controller、WAF、服务网格以及一些其他云原生项目,提供了云原生的、Kubernetes 友好的开源和商业解决方案,来提升应用程序的扩展性、可见性、安全性......
另一方面,微服务和应用的数量在快速增长,微服务之间以及集群内外之间的 API 数量也不断增加。一般来说,微服务之间的内部 API 调用次数通常是应用到客户端之间的外部 API 调用次数的 10 倍或者更多。随着应用环境的扩张,复杂的环境可能有成百上千个 API,更复杂的 API 身份验证、授权、路由、整形和生命周期管理等问题就会随之而来,所以在云原生时代,网关功能更为重要。
NGINX 提供了 API Gateway、Ingress Controller、Service Mesh多种选择。其中,作为被普遍使用的反向代理工具,基于 NGINX 实现的 NGINX Ingress 也成为了 Kubernetes 集群中最广泛使用的 Ingress 网关。目前 NGINX Ingress 主要有两个版本,其中一个是 Kubernetes 社区所开发和维护的 NGINX Ingress Controller (kubernetes/ingress-NGINX)。而 F5 NGINX 也开发和维护了 NGINX Ingress Controller (NGINXinc/kubernetes-ingress),在数据平面上添加一些高级功能或商业支持。
然而,开源版本和 NGINX 维护的版本之间存在一定差异,这也让用户感到困惑。为了消除这种困惑,NGINX 基于 Kubernetes API Gateway SIG 参考架构,于今年早些时候推出了 NGINX Kubernetes Gateway。NGINX Kubernetes Gateway 由 Ingress controller 发展而来,是一种基于 Gateway API 规范内测版的新兴技术。Gateway API 终将取代 Kubernetes 架构中的 Ingress Controller,为了与云原生趋势保持一致,NGINX 表示已决定将之前仅在开源版本中提供的 NGINX Kubernetes Gateway 作为下阶段的 Kubernetes 网络开发重点。
现代应用参考架构 MARA
云原生基础设施和基于微服务的设计,能够高容错、松耦合,使得开发可快速迭代,让企业可以用敏捷的方式支持数字化转型。然而利用云原生构建现代化应用并不容易,“部署 Kubernetes 有很多不同的方法——网络、安全、身份验证,甚至像 API 网关这样的东西。对于大多数刚起步的企业来说,这还是比较复杂。” F5 NGINX 总经理Rob Whiteley在接受媒体采访时曾说。“如果没有很好地理解,很容易陷入错误的配置状态。”
“我们意识到,我们可以制作一个模版作为企业参考架构:给出真正的操作代码,而不是纸上的概念。”Whiteley 说。因此,MARA 诞生了。这种思路类似于构建一个“黄金镜像”,让用户从列表中自动拉取、组装和预集成所有脚本,然后通过一个命令进行部署。并且 F5 希望开发人员只需单击几下就能够在几分钟内配置和部署好一个 Kubernetes 环境,形成一个完整并稳定可靠的开发环境。
总之,MARA 是一个悉心设计的“稳定可靠、经过测试且可以部署到在 Kubernetes 环境中运行的实时生产应用”解决方案。该模块化架构集成了创建生产级云原生环境所需的一切——安全性、日志记录、网络、应用服务器、配置和 YAML 管理等。
即使平台能够集成所有这些功能,但要完全满足生产环境要求还需要更多的工作。经过不断实验并探索如何帮助核心开发人员更高效、更轻松地部署现代应用,NGINX 在去年的 Sprint 大会上宣布推出了 MARA参考架构,一个现代应用的开源架构和部署模型。在今年的 NGINX Sprint 上,Rob Whiteley 也在主题演讲中宣布了即将推出 MARA 1.0版本。
在发布时,MARA 预配置了多种选择,使用Elastic进行日志管理,使用Prometheus和Grafana进行监控和仪表板,使用Amazon Web Services的Elastic Kubernetes Service (EKS) 作为部署目标,使用Spinnaker进行持续交付,以及 TLS的证书管理器,以及中间层的许多 NGINX 产品。
另外,微服务相对单体服务,其故障定位难度完全不是一个等级,因此要使微服务监控和可观察性更上一层楼,就需要引入优秀的 APM 系统。CNCF 管理的 OpenTelemetry 项目 (由 OpenTracing 和 OpenCensus 合并而成),它以一种综合的方式生成追踪、日志和指标,也成为了目前服务监控可观察性统一方案。MARA 1.0 版本也选择了集成OpenTelemetry,实现日分布式跟踪、指标收集等功能,这也是1.0版本中的一个重要变化。
NGINX 的开源演进:兼顾稳定和高性能
NGINX 作为纯 C 实现的软件,源码质量很高。创始人Igor Sysoev最开始也只专注于解决 C10K 问题,并一个人写了几乎所有的代码,独自管理到 2011 年。
2017 年,当时的 NGINX 首席执行官接受媒体采访时介绍说,这个轻量级软件,核心代码一直少于 200,000 行。同时,开源版本依赖很少,仅有非常少的库,如 Openssl、glib。这也是它高性能的原因之一。“性能为王”是它击败 Apache 网络服务器的原因,其模块化机制也始终可以让 NGINX 关注于可以为工程师提供“灵活度”,这也是让它在 Web 网关服务器领域中一直领先地位的原因。
但云原生的到来正在改变 API 网关的角色,也给 NGINX 带来了新的挑战。很多其他 API 网关解决方案都是基于 NGINX 搭建的,比如开源和商用的 Kong API 网关以及开源的 OpenResty 等,这些软件在敏捷开发行业很火。
虽然这进一步验证了 NGINX 核心技术在这个领域的可用性,但也让人们思考 NGINX 在云原生技术下的优势。但相对来讲,NGINX 使用 C 语言,代码空间封闭;而新兴的一些软件使用 Lua,虽然可以随时编写功能插件,但通过解析 String 并立即返回调用函数,这样导致其代码空间是完全开放的。所以从这一点来说,NGINX 的设计更加安全稳定。而传统行业也比一些敏捷行业更注重安全稳定的性能,所以 NGINX 仍然是传统行业的首选。就像 Rob Whiteley 在主题演讲中提到的那样,“开源安全性是开发人员的首要考虑事项”。
他表示,“数以千计的企业正在生产环境中运行 NGINX 开源软件——这是一件好事,因为这充分表明了公司们对我们开源版本的高度信任,我们将带着这份信任再接再厉。对于核心 NGINX 开源版软件,我们一直在不断添加新特性和功能,并支持更多操作系统平台。在即将发布的下个版本中,我们将通过 HTTP3 和 QUIC 这两大功能来保障 Web 应用以及流量的安全性和可扩展性。”
在 NGINX 的设计中,后端服务以静态配置文件的形式记录,里面使用了一些优化过的静态哈希表设计,因此性能也非常好。但在微服务时代,后端服务的 IP 发生变化的时候,都需更改配置文件,静态配置的方式也给网关实现“连接复用”增加了难度,而基于 UDP 的 HTTP3 和 QUIC 协议则可以实现跨 IP 迁移。各种网络技术实际上早已经成熟,但 NGINX 更多考虑的是稳定性,因此在 QUIC 第一份规范草案提交给 IETF 的五年之后,NGINX 才选择合并 QUIC 到当前版本中。
这同时说明 NGINX 也一直在跟进网络世界的重大变化。例如,NGINX 于 2015 年 9 月开始支持 HTTP/2,距协议修订标准化仅几个月。HTTP/2 服务器推送支持也于 2018 年推出,现在 HTTP /3 和 QUIC 也终于要实现到 NGINX 中。
在开源崛起和迈向成功的过程中,NGINX 在这一二十年里发挥了至关重要的作用。现在,通过 NGINX 在云原生领域的重大发布,我们也可以看出 NGINX 一直在努力提升自身的竞争力,用 Rob Whiteley 的话来说,就是“NGINX 要想十年后还能广受欢迎,就需要不断做出改进......对自己的开源工作反躬自省,跟上开源运动的持续发展。”
参考链接:
https://www.NGINX-cn.net/blog/future-of-NGINX-getting-back-to-open-source-roots/
https://www.NGINX-cn.net/blog/5-things-to-know-about-NGINX-kubernetes-gateway/
https://www.bilibili.com/video/BV1wh41187De/
https://thenewstack.io/NGINXs-reference-architecture-for-kubernetes-microservices/
https://mp.weixin.qq.com/s/UPaA6uRTVn2Nu2qJKA9soQ
https://www.NGINX.com/blog/our-roadmap-quic-http-3-support-NGINX/
云原生时代,18 岁的 NGINX 过时了吗?
AcWing1131. 拯救大兵瑞恩
今日最新!东京奥运会陷入丑闻:审计人员发现实际成本高出20%
经典大富翁游戏《富甲天下3》登陆Steam 2023年1月9日发售
全球新资讯:Apache Log4j 远程代码执行漏洞(CVE-2021-44228、CVE-2021-45046)修复方案
全球速看:美国“毅力号”在火星上丢了个东西:意义重大
微动态丨vue3的setup函数的使用
微软:这四款游戏大作被索尼永久禁止登陆Xbox平台
天天看热讯:本田底气十足 全新一代皓影上市:18.59万元起
一个比一个经典!卡梅隆电影角色人气排名:终结者T-800第一
教你用JavaScript实现进度条
世界消息!Sentinel
【天天快播报】知名游戏在美区遭和谐:美女角色太性感
【天天速看料】千元档亮度天花板!哈趣K1 Pro投影仪评测:真1080P分辨率白天也清晰
猫是牛顿流体 还是非牛顿流体?中科院严肃科普
这也可以?20万法国人请愿重踢世界杯决赛 阿根廷赢的不光彩
AMD RX 7900 XT破发:10天便宜快400块
今日要闻!Shell脚本4
风暴袭击!美国多个州宣布进入紧急状态 道路能见度可能为零
快资讯:感受彼此体温 杰士邦超薄尊享30只礼盒装19.9元
世界资讯:乘联会喊话:千方百计增加居民收入 大家踊跃买汽车稳消费
【新要闻】【验证码逆向专栏】某验三代滑块验证码逆向分析
短讯!安全多方计算(5):隐私集合求交方案汇总分析
天天观速讯丨论文解读()《Detect Rumors in Microblog Posts for Low-Resource Domains via Adver
每日讯息!GitHub实用开源项目
环球报道:韩国载有216人客机飞行中出现异常:靠一台发动机平安降落
天天热文:特斯拉股价年内大跌60%!最大空头:明年可能会更惨
每日动态!还差14亿刀回本!《阿凡达2》全球票房破6亿美元 说中国影迷不感兴趣尚早
TCL华星13.3英寸定制全隐私屏研发成功!全屏防窥、防窃听
今日看点:二次伤害猛于虎 事故后驾驶员留在现场:半小时后被撞身亡
世界热议:上干货 | 园区智慧物联管理解决方案
Shell脚本3
全球信息:国产CPU力挺国产OS!x86兆芯加入deepin深度社区
焦点速讯:《炉石传说》国服停运倒计时!官方补偿来了:10个卡包你领吗?
车门都不给配 新款雪铁龙My ami Buggy官图发布:年满14就能开
全球热文:有了AMD RX7900、4090深受市场青睐:RTX 4080还一无是处?
比亚迪仰望来了!首发极具颠覆性技术
微头条丨AcWing341. 洛谷P1073, NOIP2009 最优贸易
百事通!面向对象与面向过程
全球速递!Flex布局总结
马斯克给全球车主发福利:每人可“白嫖”30天免费EAP试用服务
阵容十分豪华 2023最受期待的十大游戏来了:暗黑4位列第三
首发天玑8100:荣耀平板V8 Pro带来超级笔记 自动去广告
起点读书宣布百部经典作品限时免费:包括《诛仙》《红楼梦》等
世界热点!男子修车时发现4S店虚报维修定损金额 要求退一赔三胜诉
Codeforces 1630 E Expected Components 题解 (组合数学)
头条:Java基础项目:超市管理项目
每日动态!2023春运车票24日开售 除夕车票要等到1月7日
《妮姬》首月收入突破6.9亿!腾讯海外收入占比提升达12.5%
今日热门!超越电竞机!Redmi K60要榨干第二代骁龙8:画质、帧率、亮度三不降
每日精选:效果堪比镀铬 2.2万元的特斯拉Model Y新配色值不值?
环球观察:高可用 Canal集群 实操( 秒懂 + 史上最全)
微头条丨认证管理(锐捷业软篇)
Intel拆分GPU部门 一把手重回技术岗 累计亏损超20亿美金
天天通讯!iPhone 14 Pro爆出“闪线门” :屏幕出现诡异的绿色和黄色细横线
全球热点评!当ChatGPT遇上弱智吧:全程爆笑
夫妻的世界翻拍哪部电视剧?夫妻的世界最后结局是什么意思?
滕王阁为什么叫阁不叫楼?滕王阁为什么是三大名楼之首?
情非情砸车是第几集?情非情盖总和保姆的结局是什么?
小昭去波斯是哪一集?小昭去波斯后她母亲去哪儿了?
男人是大猪蹄子是什么意思?男人是大猪蹄子女人是什么?
排序算法模板(更新中)
当前速读:机器学习——果蔬分类
每日消息!性能超越电竞手机!Redmi K60 Pro综合跑分达135万
信息:千万别强忍 20岁小伙憋气压抑咳嗽导致昏厥
特斯拉今年股价累计暴跌超60%!马斯克透露大跌原因
收购动视暴雪遇阻 微软哭弱:根本打不过索尼、任天堂
到手9袋!良品铺子坚果礼盒1440 仅44元包邮
每日讯息!教你用JavaScript实现背景图像滑动
户外运动有哪些项目?户外运动品牌排行榜
什么鱼营养价值最高?什么鱼只会逆流而上?
金木水火土命怎么算出来的?金木水火土哪个腿长?
玉面小飞龙是什么意思?玉面小飞龙出自哪里?
Redmi K60系列上架:三颗口碑最好的芯片都拿到了 12月27日发
每日聚焦:最快闪充旗舰!真我GT Neo5充电头曝光:支持240W充电
环球热讯:紫米裁员80%并入小米?官方澄清:ZMI品牌将继续存在
全球新资讯:9.99万元遭疯抢 五菱宏光MINI EV敞篷版下线:能跑280km
苯胺皮是什么皮?苯胺皮和纳帕皮有什么区别?
世界新动态:CloudCanal实战-五分钟搞定Oracle到StarRocks数据迁移与同步
(一)elasticsearch 编译和启动
【速看料】马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
焦点速讯:字节鏖战美团的关键一役
重点聚焦!糗事百科宣布将关闭服务 自侃“享年17岁”
全球观点:神似苹果AirPower!特斯拉推出无线充电板:最高功率15W
手慢无 民族品牌两面针牙膏大促:四支到手20元还送牙刷
又一新能源品牌官宣涨价:最少涨5千 今年买车还剩最后一周“窗口期”
全球速看:盘点适合《战神》奎爷的演员:道恩·强森、杰森·莫玛等
新型复兴号CR200J首次亮相:Wi-Fi全覆盖 充电插口增加
环球微动态丨比亚迪DM-i再外放 东风小康风光蓝电E5官图发布:综合续航1150km
霍乱疫情卷土重来:已致马拉维国410人死亡
环球今热点:随身咖啡馆 精神X小时:Nevercoffee咖啡1.99元(京东5元)
天天微头条丨什么是 HTML5?
每日消息!Ubuntu:Docker 容器操作
天天关注:苹果降低中国工厂依赖:真要搬走?iPhone 14制造难度降低
全球聚焦:不装了!日本万亿重新发展核能:新一代核反应堆准备中
【热闻】冬至湖南浏阳全城燃放烟花 满城烟花一河诗画:网友羡慕哭
焦点简讯:顺丰又上热搜!买Chanel耳钉顺丰运掉五颗珍珠
焦点热门:修复RX 7900显卡功耗异常 AMD新驱动实测:有用 但没什么大用
天天简讯:比iPhone 14 Pro Max更轻更便宜 OPPO Find N2首销:7999元
4插槽怪兽 华硕、猫头鹰合作打造最安静、最冷静的RTX 4090/4080显卡