从零入门 Serverless | SAE 的远程调试和云端联调

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 Serverless 应用引擎中进行实际演示。

头图.jpg

来源 | Serverless 公众号

作者 | 弈川 阿里巴巴云原生团队

导读:本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 Serverless 应用引擎中进行实际演示。

经过之前课程的学习,相信大家对于 Serverless 应用引擎(SAE)已经有了一定的了解,SAE 是一款基于容器与 kuberneters 的应用 PaaS 平台,在 SAE 提供的 Serverless 场景下,我们不需要再关注底层资源的运维,只需要关注应用的业务逻辑本身。但是,我们在开发测试阶段通常会需要用到调试功能,因此,为了方便用户调试,我们提供了远程调试功能,目前只支持 Java 程序的远程调试。

远程调试

Java 远程调试原理

1.png

众所周知,我们的 Java 程序是运行在 Java 虚拟机(JVM)之上的,JVM 不单单为我们的 Java 程序提供了跨平台能力,并且也提供了相应接口与协议方便远程调试。JDK 中有一个叫 JPDA 的体系来规范与支持 Java 程序的调试,在这个体系中,调试发起者与被调试程序的 JVM 底层分别由 JDI 与 JVMTI 模块来支持,而两个接口之间则是有 JDWP 来负责相互之间的通信。

由此可见,远程调试的本质就是两个 JVM 通过一个连接保持通信,被调试的程序作为服务端,在某个指定的端口监听调试指令,而调试发起者则是作为客户端连接目标端口,发送各种调试指令并且接收调试状态。

我们此时已经了解了 Java 程序远程调试的原理,那么对于部署在 SAE 中的 Java 应用是如何实现远程调试的?

SAE 中的 Java 远程调试

2.png

首先,在 SAE 部署的 Java 应用需要先开启调试模式,因此需要在部署应用时添加相关的启动命令。另外,由于 SAE 的应用默认是无法提供公网访问的,所以需要一个 SLB 提供公网访问能力。以上两条都设置好之后,最后可以获得一个调试程序用 IP 与端口,将这个 IP+端口 设置到 IDE 中就能够开始远程调试了。

注:以上操作见文章【实操演示】部分。

端云联调

除了远程调试,对于微服务的应用,端云联调也是一个非常重要的功能。

我们在微服务架构下的开发测试过程中,经常会遇到需要上线一个新的服务或者更新一个旧服务的版本的情况。如果没有端云联调,我们只能先在测试环境测试之后再上线生产环境。而通常测试环境与生产环境有着这样那样的差异,导致有些隐藏的问题无法被及时发现。

而有了端云联调功能后,在正式上线之前,我们能够直接实现本地服务与部署在云端的服务相互调用,这样就能够方便我们更加贴近实际生产环境进行调试。

3.png

首先,部署在 SAE 上的服务与本地网络上是有隔离的,所以需要在同一个 VPC 下购买一个 ECS 充当跳板机。借助这个跳板机我们可以通过 IDEA 的插件完成本地服务在云端注册中心的注册与服务发现。最后即可完成端云互联,进行端云联调。

实操演示

最后对 SAE 提供的远程调试与端云联调功能进行实际演示,演示过程请点击链接:https://developer.aliyun.com/lesson_2026_23271#_23271 进行观看。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
自然语言处理 Serverless Docker
量化交易大揭秘:如何将TA-Lib神兵利器部署于云端函数计算,让策略飞升!
【8月更文挑战第8天】在量化交易中,TA-Lib作为技术分析库备受青睐,支持多语言包括Python。本教程指导如何将其移植至函数计算平台,实现云端交易策略。首先安装Python与TA-Lib;接着选择云服务商并创建实例。确认TA-Lib与平台Python版本兼容,必要时构建自定义运行时。使用`pip`安装TA-Lib并打包依赖。编写函数计算代码示例,如计算移动平均线。部署代码与依赖至平台,定制Dockerfile以支持自定义运行时。最后,通过平台测试功能验证功能正确性。完成移植后,即可享受Serverless架构的自动扩展与成本效益优势。
47 4
|
2月前
|
Cloud Native Java Serverless
一键上天!如何将Spring PetClinic瞬间迁移到云端函数计算平台
【8月更文挑战第8天】在现代云原生开发中,将Spring应用迁移到Serverless环境正成为趋势。本文通过对比传统部署与函数计算,指导如何快速部署Spring PetClinic应用。传统部署需手动配置服务器和中间件,而函数计算则免除了这些步骤,仅需上传代码。首先,准备好Spring PetClinic源码或jar包;接着选择函数计算平台,本文以阿里云为例;随后对应用进行适配,并使用Maven构建部署包;登录阿里云控制台上传jar包并配置HTTP触发器;最后测试应用确保正常运行。
39 3
|
3月前
|
运维 监控 Serverless
Serverless 应用引擎使用问题之SAE怎么设置超时时间
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
关系型数据库 MySQL Serverless
Serverless 应用引擎产品使用合集之在SAE2.0上的应用如何访问云原生数据库PolarDB MySQL版集群
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
Java Serverless Docker
Serverless 应用引擎产品使用合集之SAE 2.0是否支持直接上传zip包部署
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
域名解析 运维 网络协议
Serverless 应用引擎产品使用合集之一般情况下在SAE中如何关联域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
运维 Serverless 测试技术
Serverless 应用引擎产品使用合集之在SAE 2.0中,如何区分生产环境和测试环境
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
弹性计算 运维 监控
函数计算产品使用问题之如何在阿里云端stable-diffusion训练lora
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
运维 Serverless 网络安全
Serverless 应用引擎产品使用合集之能否用一个顶层函数,在云端动态的增加函数脚本或删除脚本
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
存储 Serverless 文件存储
Serverless 应用引擎产品使用合集之如何加载新模型到云端上
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

相关产品

  • 函数计算
  • Serverless 应用引擎
  • 下一篇
    无影云桌面