分享一个 serverless 框架,Nodejs环境下即使带上 VM 性能也吊打 nest

发布于 1周前 作者 yuanlaile 来自 nodejs/Nestjs

之前我也发过 我那个框架的分享 在这个论坛

传送门: https://v2ex.com/t/891986

这次重复说明就不说了,主要说我这个语法和压测

import {VaasServerType, Decorator } from 'vaas-framework'

export default class Hello { @Decorator.VaasServer({type:‘http’,method:‘get’,routerName:’/hello’}) async hello({req,res}:VaasServerType.HttpParams) { return { hello:‘world’ } } }

其它语法例子可参考: https://github.com/virtual-less/vaas-template/tree/main/src/apps

然后就是压测了,一开始也是没准备这个文章,后来我同事选型框架,因为他觉得我这个很好用,但是由于使用了 vm 怕性能不行,所以做了一个简单的压测。

image.png

老实说我是没有想到,因为我这个框架带了 vm 以为顶多和 nest 达到一个 55 开的水平,没想到领先 nest 这么多。这里再说一下,没有使用 pm2 启动也能达到 5k 到 6k 的水平,20 倍 nest 小意思🐶

忍不住给自己点赞 🐮比!!!


分享一个 serverless 框架,Nodejs环境下即使带上 VM 性能也吊打 nest

1 回复

在探讨Serverless框架与NestJS的性能对比时,首先需要明确的是,NestJS是一个基于Node.js的服务器端框架,而非Serverless框架。NestJS以其高度的模块化和可扩展性著称,特别适用于构建大型企业级应用。然而,当话题转向Serverless架构时,我们关注的是不同的技术栈和部署模型。

在Node.js环境下,Serverless框架如AWS Lambda、Google Cloud Functions等,允许开发者无需管理服务器即可运行代码。这种架构的优势在于按需付费、自动扩展和简化运维。

关于性能,Serverless框架通常依赖于底层的容器化和虚拟化技术,这些技术可能会引入额外的性能开销,包括VM的创建和销毁等。然而,在优化良好的Serverless应用中,这些开销可以被有效地降低。

以下是一个简单的Node.js Lambda函数的示例代码,展示了如何在AWS Lambda上运行一个Serverless函数:

exports.handler = async (event) => {
    // TODO: 实现你的函数逻辑
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

最后,关于“性能吊打Nest”的说法,这取决于具体的用例、优化程度以及所选择的Serverless平台。在实际应用中,应根据具体需求进行技术选型,而非盲目追求性能。

回到顶部