Serverless 架构是最近几年兴起的一种新型架构模式,它可以让前端开发人员专注于业务逻辑,无需关心基础设施的搭建和维护,从而加快了开发速度。但是,在实际开发中,我们还是难免会遇到一些 Bug,这时候如何排查呢?本文将从以下几个方面详细介绍 Serverless 出现 Bug 的排查方法。
1. 日志排查
日志是排查 Bug 的最基本方法之一。在 Serverless 环境中,我们可以打印一些日志信息到平台提供的日志服务中。对于云服务商,比如 AWS、阿里云等,我们可以使用平台提供的日志服务查看应用程序的日志,从而定位到出现问题的地方。
以下是使用阿里云函数计算的示例代码:
-- -------------------- ---- ------- --------------- - --------------- -------- --------- - --------------------- -------- --------------------- ----- ---- ----- -------- - - ----------- ---- ----- --------------------- ---- -------------- -- -------------- ---------- --
在这个示例代码中,我们使用了 console.log()
打印了收到的事件信息到阿里云函数计算的日志中。如果遇到问题,我们可以通过打开阿里云函数计算的控制台,在对应函数的日志中查看信息。
2. 使用调试工具排查
有时候我们需要对出现问题的代码进行 debug,这时候调试工具就会派上用场。在 Serverless 环境中,我们可以使用云服务商提供的在线调试工具快速调试。比如,AWS 的 Cloud9 和阿里云的 Cloud Shell 等。
以下是使用 AWS Cloud9 调试 Lambda 函数的示例代码:
-- -------------------- ---- ------- --------------- - ----- ------- -- - ----- ---- - ---------- -- -------- --------- -- --------------- ----- -------- - - ----------- ---- ----- ---------------------- ----------- -- ------ --------- --
在这个示例中,我们在代码中加入了 debugger
语句,当 Lambda 执行到此处时将自动进入调试模式。在 AWS Cloud9 中,我们可以通过打开对应的工作区,找到对应文件,点击左侧的调试按钮启动调试模式。使用调试工具可以更方便地查看代码的状态、变量以及调用堆栈等信息。
3. 使用异常处理器排查
Serverless 应用程序的异常处理器是一个重要的组件,可以帮助我们快速定位出现问题的地方。在异常处理器中,我们可以捕获到异常并进行处理。比如,在阿里云函数计算中,我们可以使用 catch
得到出现的异常并打印相应信息。
以下是使用阿里云函数计算的异常处理器示例代码:
-- -------------------- ---- ------- --------------- - ----- ------- -------- --------- -- - --- - ----- ---- - ---------- -- -------- ----- -------- - - ----------- ---- ----- ---------------------- ----------- -- ------ --------- - ----- ------- - --------------------------- ---------------- - --
在这个示例代码中,我们使用了 try...catch
捕获异常,并使用 console.error()
打印异常信息到阿里云函数计算的日志中。如果出现异常,会通过 callback(error)
将异常继续向上抛出,从而得到更好的排查信息。
总结
Serverless 的出现改变了前端的开发方式,让我们更专注于业务逻辑的实现,大大加快了开发效率。但是,Serverless 中也难免会出现 Bug。在排查 Serverless 的 Bug 时,我们可以采用常见的日志排查、使用调试工具和异常处理器等方法。这些方法不只针对 Serverless,还适用于其它的软件开发中,帮助我们更快地定位到问题并解决它们。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64aa4bb648841e989466ed05