NJet 3.1发布!
NGINX 向云原生演进,All in OpenNJet
NJet3.1在9.26号正式发布了,不同于前期的版本,这个版本中很多关键特性来源于中金金融、京东、巨硬科技的贡献,是真正的社区协作结果。
在该版本中,NJet继续在新协议支持上发力,一是继续加强HTTP3, 来自于京东的贡献实现了HTTP3代理,HTTP2代理以及HTTP3和HTTP1、HTTP2的互操作性,客户端可以发送HTTP1、2、3,经NJet转换后,可以访问后端的HTTP1、2、3服务。这意味着,服务端不需要改变,就可以适应 client发起的HTTP3请求,从而更好的支持移动互联网业务。据通名智云的调研,目前仅仅在一些特定版本的商业版(envoy提供了验证性支持,见附1,haproxy在商业版本中才有提供,见附2)提供了纯粹的HTTP3 proxy能力,互操作性基本没有。
对HTTP3的增强还来自于中金金融对HTTP3国密双证书的支持。按照国密规范,server和client交互会采用签名加密双证书。这个规范在基于TLS1.1、1.2标准的HTTP1.x,或TLS stream上都得到了落地。但当来到HTTP1.3时,由于采用了QUIC传输+TLS1.3, 国家还没有一个标准出台。我们在前面版本中,尝试遵循RFC9898,采用单证书模式,尝试了HTTP3国密的一种模式;但我们认为双证书才是HTTP3国密应该采用的标准。感谢中金金融贡献的代码,完整实现了HTTP3上的双证书模型。当然,由于标准尚未出台,目前缺乏浏览器或其他客户端,这也是OpenNJet在后续的发力点。
此外,巨硬科技贡献了MQTT proxy能力。该代理不是简单的4层转发,除了可以根据MQTT的属性做路由选择外。还实现了broker切换client无感知,即即使后端broker故障,NJet重新选择了broker,但client到NJet的长连接依然得到保持。
根据规划,NJet会在release3及以后的版本上,逐渐落地云服务领域的应用服务器。在3.1这个release中,巨硬科技依托NJet前期发布的JIT框架,贡献了通用server框架及通用proxy框架,并用websocket协议做了验证,推出了基于TCC脚本编写的websocket服务器,既实现了和c语言编写的模块的一致高性能,又实现了按需定制的灵活性。这套框架,搭配上对grpc/dubbo协议解析的支持,就可以实现利用脚本语言编写微服务的能力。最关键的是,由于复用了NJet的底层网络、事件处理能力,应用开发者可以规避线程、异步编程、网络处理等挑战,仅仅编写业务函数就可以实现集群ready,按需扩展的超高性能应用服务器。
除基于JIT的TCC脚本支持外,NJet在这次发布中,还包括了标准的python WSGI应用服务器。之所以选择python语言,因为根据调查,python技术栈中,web应用服务器性能都不高(NJet对比了常见的开源web服务器,如gunicorn, uWSGI, NJet是其5倍以上)。相比其他的实现,NJet实现的WSGI服务器,依然依托于底层的事件处理模型,单进程支持并发请求。并且最关键的是,业务代码无需变更,可以直接利用上单进程多业务并行。
此外本版本中,还极大满足了企业部署的要求:实现了微服务注册中心的集成,从而使NJet可以成为外部访问微服务的标准网关;增强了集群配额对websocket/webrtc等长链接协议的支持;提供集群规模的token服务来保持集群配置的一致性。
NJet 应用引擎通过内核重构实现了独特的运行时动态配置加载能力,是新一代高性能 Web 应用引擎。NJet 拥有高性能数据面处理能力,将集群、高可用、主动健康检查、声明式 API 等多种辅助功能,通过 NJet 独特的副驾驶 CoPilot 服务框架调度,从而方便功能扩展,隔离管理 / 控制功能对数据面的影响,NJet 应用引擎性能超过 CNCF 推荐 Envoy 应用引擎的三倍。 邮件组 官网

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源日报 | 快速部署黑苹果工具;宝可梦游戏源代码泄露;AI如何让世界变得更好;vivo自研操作系统内核
欢迎阅读 OSCHINA 编辑部出品的开源日报,每天更新一期。 # 2024.10.14 今日要闻 苹果发布 300 亿参数多模态大模型 MM1.5 苹果近日发布多模态大模型 MM1.5,旨在增强对文本丰富的图像的理解、视觉指代和接地,以及多图像推理的能力。 据悉, MM1.5 在在 MM1 架构的基础上训练而成,MM1.5 采用了以数据为中心的模型训练方法,在整个模型训练生命周期中系统地探索各种数据混合物的影响。其中包括用于持续预训练的高质量 OCR 数据和合成字幕,以及用于监督微调的优化视觉指令调整数据混合物。 MM1.5 的模型参数范围从 1B 到 30B,包括密集型和专家混合型(MoE)变体,并证明了精心的数据整理和训练策略即使在小范围内也能产生强大的性能(1B 和 3B)。 黑莓报告:44% 的开发者首选开源操作系统为基础平台 黑莓公司(BlackBerry)近日发布了一份基于全球 1000 名嵌入式软件开发人员和工程师的调查结果指出,开发人员和软件工程师面临着越来越大的压力,需要在快速创新与安全和保障之间取得平衡,满足紧迫的项目期限与保持功能安全之间的矛盾日益加深。 75%...
- 下一篇
开源的口袋妖怪自走棋「GitHub 热点速览」
作为一名 90 后,我对口袋妖怪(宝可梦)游戏有着特殊的感情,满满的都是回忆。如果你也喜欢宝可梦主题的游戏,这款开源的宝可梦自走棋游戏 pokemonAutoChess 一定要试试,它采用战棋(自走棋)玩法,玩家可以将小精灵作为"棋子"布置在战场上,然后它们会自动进行战斗。你只需运筹帷幄,考虑如何选择宠物、分配物品和站位的策略,轻松惬意且好玩。 上周好玩的开源项目还有不少,上榜的还有让数学动起来的 Python 框架 Manim,能够制作清晰、直观地展示抽象的数学概念的动画。该项目最初是由 Grant Sanderson 发起的个人开源项目,起因是想锻炼自己的编程技巧,并用它制作数学视频,经过不断的开发和迭代,目前已获得 6.6w 星(3b1b/manim)。本期收录的是更稳定、更活跃的开源社区版(ManimCommunity/manim)。如果你厌倦了单调的浏览器新标签页,不妨试试 materialYouNewTab 插件,为你的浏览器注入新活力! 最后,可离线部署的翻译 API 服务 LibreTranslate、美观的投资组合追踪工具 Wealthfolio 和全天候录制屏幕的 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- Hadoop3单机部署,实现最简伪集群