关于serverless:从零入门-Serverless-SAE-的远程调试和云端联调

111次阅读

共计 1232 个字符,预计需要花费 4 分钟才能阅读完成。

起源 | 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 进行观看。

正文完
 0