分享一个 serverless 框架,Nodejs环境下即使带上 VM 性能也吊打 nest
之前我也发过 我那个框架的分享 在这个论坛
传送门: 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 怕性能不行,所以做了一个简单的压测。
老实说我是没有想到,因为我这个框架带了 vm 以为顶多和 nest 达到一个 55 开的水平,没想到领先 nest 这么多。这里再说一下,没有使用 pm2 启动也能达到 5k 到 6k 的水平,20 倍 nest 小意思🐶
忍不住给自己点赞 🐮比!!!
分享一个 serverless 框架,Nodejs环境下即使带上 VM 性能也吊打 nest
在探讨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平台。在实际应用中,应根据具体需求进行技术选型,而非盲目追求性能。