本地调试在将应用部署到云平台之前,我们通常希望能在本地部署应用,进行调试 。Serverless Devs 工具提供了本地运行应用的功能 。
在项目根目录(s.yaml 所在目录),执行命令,即可启动对应的服务 。auto 参数是指自动为实例生成和 Web 框架兼容的测试域名 。例如执行下述命令:
sudo -E s mall-admin local start auto
工具会在本地启动函数实例,并提供一个可供调用的 url 。这样我们可以在本地调试 Web 应用,提高效率 。
注意:每次启动本地实例,监听端口是随机生成的 。

文章插图
端云联调很多时候,构成应用的微服务/函数需要和其他服务相互调用 。除了在本地进行简单的单元测试,联调或者集成测试必须要把代码部署到云端 。这样的方式使得开发调试的流程比较长,云端的复杂环境也增大了问题诊断的难度 。比如:
- 要平迁原有的应用,函数实例需要访问云端环境中的其他服务,遇到实例启动不起来时,该怎么排查原因?
- 应用采用微服务架构,涉及到多个服务 。能否在本地代码开发完成后快速进行端对端测试?
- 事件驱动的应用,通过事件源触发函数,环节多,链路长,能不能在本地快速测试整个链路?
- ……
- 变更代码,实时查看结果,调试迭代的闭环最短 。
- 能够复用本地丰富的开发调试工具,效率最高 。
以 mall 应用为例,整个应用由 mall-admin-web,mall-admin,mall-portal,mall-search 等多个服务构成 。服务之间有上下游依赖,比如 mall-admin-web 会向下游的 mall-admin 服务发送请求 。假设我们已经在测试环境部署了一整套 mall 应用的服务,现在想在开发机全链路调试 mall-admin 服务,需要把 mall-admin-web 等整套服务和数据库都部署到开发机,或者通过公网与云端 VPC 内的服务和数据库交互,这是非常繁琐甚至不现实的 。端云联调能让我们在本地开发机环境启动 mall-admin 服务的实例,安全的与云端 VPC 环境的其他服务和数据库无缝交互 。用户不需要做任何设置 。
首先在 s.yaml 所在的目录执行下述命令,针对 mall-admin 服务启动端云联调 。
sudo -E s mall-admin proxied setup
然后在控制台访问 mall-admin-web 应用,可以看到相关的请求已经被转发到了本地的 mall-admin 函数实例上 。而且本地实例可以无缝的访问云端 VPC 内的数据库或者其他服务 。
注意:当使用了端云联调后,所有的流量都会发送到本地的实例上 。要让流量恢复到函数计算上的实例,需要执行 s deploy 重新部署相关的函数 。

文章插图
总结从下图的两个报告中,我们可以看出,在 Serverless 领域,调试和可观测一直是 Serverless 开发实践者最大的两个痛点 。
- 毯子章鱼有毒吗 章鱼有毒吗
- 茶几地毯怎么放 茶几下的地毯怎么打理
- 电热毯能漏电吗 电热毯会漏电吗
- 孕妇睡电热毯可以吗? 孕妇睡电热毯能行不
- 瑞妍面膜好还是幸福面膜 瑞妍红地毯面膜好用吗
- 安卓跳舞毯app下载 跳舞毯驱动官方下载
- 汽车地毯进水了以后会有什么危害
- 地毯广告词语 跳舞毯的广告语
- 沙发上放一条这个颜色的毯子可以招财运
- 汽车地毯进水了有什么坏处
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
