来源 | Serverless 公众号

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

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

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

远程调试

Java 远程调试原理

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

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

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

SAE 中的 Java 远程调试

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

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

端云联调

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

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

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

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

实操演示

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

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

  1. java作业远程联调_从零入门 Serverless | SAE 的远程调试和云端联调

    作者 | 弈川 阿里巴巴云原生团队 **导读:**本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 Serverless 应用引擎中进行实际演示. 经过之前课程的学习,相信 ...

  2. 从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

    作者 | 落语 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",获取 Serv ...

  3. openstack根据公网查不到路由_从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践...

    简介: 本节课程包含三部分内容:单应用的负载均衡配置.多应用的路由策略配置以及自建微服务网关. 流量管理从面向实例到面向应用 在 Serverless 场景下,由于弹性能力以及底层计算实例易变的特性, ...

  4. 从零入门 Serverless | 一文详解 Serverless 技术选型

    作者 | 李国强  阿里云资深产品专家 本文整理自<Serverless 技术公开课>.关注"Serverless"公众号,回复"入门",即可获取 ...

  5. 从零入门Serverless|一文详解Serverless技术选型

    作者 | 李国强  阿里云资深产品专家 本文整理自<Serverless 技术公开课>.关注"Serverless"公众号,回复"入门",即可获取 ...

  6. 从零入门 Serverless | Knative 带来的极致 Serverless 体验

    作者 | 冬岛 阿里巴巴高级技术专家 Serverless 公众号后台回复 "knative",即可免费下载<Knative 云原生应用开发指南>电子书! **导读:* ...

  7. 从零入门 Serverless | Serverless 应用如何管理日志 持久化数据

    作者 | 竞霄 阿里巴巴开发工程师 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 Se ...

  8. 从零入门 Serverless | 一文详解 Serverless 架构模式

    作者 | Hongqi  阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverl ...

  9. 带你从零入门 Serverless | 一文详解 Serverless 架构模式

    作者 | Hongqi  阿里云高级技术专家 责编 | Carol 来源 | Serverless 本文整理自<Serverless 技术公开课> 什么是 Serverless 架构?按照 ...

最新文章

  1. The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the argument
  2. 在Struts2中使用OGNL
  3. 经典算法题每日演练——第三题 猴子吃桃
  4. Linux学习笔记033_8文本处理
  5. WinAPI: midiOutCachePatches - 预装音色
  6. python写word模板_Python3操作Office之Word模板技术
  7. [原]NYOJ-开灯问题-77
  8. python设置格式模板
  9. [转载] Python利用openpyxl模块读取excel文件内容
  10. swoole实现Timer定时器、心跳检测及Task进阶实例:mysql连接池
  11. 解决本地笔记导入博客中图片无法显示的问题
  12. 你永远赢不了“凯利公式”
  13. 数仓(四)数据仓库分层
  14. haas506 2.0开发教程-hota(仅支持2.2以上版本)
  15. matlab数值分析与应用论文,MATLAB数值分析与应用
  16. 王者荣耀转区仅显示可转移服务器,王者荣耀角色迁移是什么 怎么转区
  17. Uncaught (in promise) thirdScriptError {errMsg:hideLoading:fail:toast can't be found}
  18. MySQL数据库优化的几种方式(笔面试必问)
  19. 2022年上海市徐汇区创新型中小企业名单公示
  20. sql server查询表数据大小

热门文章

  1. 【Python】创建、保存、复制虚拟环境 venv
  2. 23、Java Swing JTree:树组件
  3. 1.6 为什么使用向上转型而不直接创建子类对象?
  4. 关于 \8 为56问题解答
  5. Linux之数组和关联数组
  6. neo4j 知识图谱_知识图谱里的知识存储:neo4j的介绍和使用
  7. python查看函数参数_python函数参数
  8. 欧拉公式cos_谈谈欧拉公式与复指数信号
  9. 网络盒子android系统版本怎样刷机,咪咕盒子MG100强制刷机rom固件安卓系统包_刷机教程...
  10. href可以请求后台么_href怎么进行传参