另外,微服务相对单体服务,其故障定位难度完全不是一个等级,因此要使微服务监控和可观察性更上一层楼,就需要引入优秀的 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 开源版软件,我们一直在不断添加新特性和功能,并支持更多操作系统平台 。在即将发布的下个版本中,我们将通过应用以及流量的安全性和可扩展性 。”
在 NGINX 的设计中,后端服务以静态配置文件的形式记录,里面使用了一些优化过的静态哈希表设计,因此性能也非常好 。但在微服务时代,后端服务的 IP 发生变化的时候,都需更改配置文件,静态配置的方式也给网关实现“连接复用”增加了难度,而基于 UDP 的到当前版本中 。
这同时说明 NGINX 也一直在跟进网络世界的重大变化 。例如,NGINX 于 2015 年 9 月开始支持中 。
在开源崛起和迈向成功的过程中,NGINX 在这一二十年里发挥了至关重要的作用 。现在,通过 NGINX 在云原生领域的重大发布,我们也可以看出 NGINX 一直在努力提升自身的竞争力,用 Rob Whiteley 的话来说,就是“NGINX 要想十年后还能广受欢迎,就需要不断做出改进...... 对自己的开源工作反躬自省,跟上开源运动的持续发展 。”
参考链接:
/
/
/
/
/
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
如何更好地干掉微服务架构复杂性?
争相上市、抢夺本土市场,未来三五年数据库将迎来大洗牌 | 解读数据库的2022
以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!
「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助:- 《品类战略:定位理论最新发展》pdf下载在线阅读全文,求百度网盘云资源
- 《冯仑来自:看得见未来才有未来》pdf下载在线阅读全文,求百度网盘云资源
- 确认过眼神,阿云嘎是没少在网上冲浪的人!
- 屈姓带云字女孩的名字
- 我国远古时代黄河流域的部落联盟首领是怎么产生的
- 冲击与回应:媒介时代的文艺批评——评《媒介、技术与技艺:当代文艺批评理论文选》
- 高胜美、韩宝仪影响一个时代,邓丽君这个名字,早已成为时代符号
- 免费的东西真的是免费的吗?
- 哪位高手有帝国时代3的秘籍?
- 血咒是什么?