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

**导读:**本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 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 的插件完成本地服务在云端注册中心的注册与服务发现。最后即可完成端云互联,进行端云联调。

实操演示

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

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

    来源 | Serverless 公众号 作者 | 弈川 阿里巴巴云原生团队 导读:本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 Serverless 应用引擎中进行实际 ...

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

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

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

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

  4. java 进阶 知乎_(二)零基础写Java知乎爬虫之进阶篇

    转自:https://www..com/shirui/p/5137238.html 说到爬虫,使用Java本身自带的URLConnection可以实现一些基本的抓取页面的功能,但是对于一些比较高级的功 ...

  5. java音频实时传输_会议室智能系统建设方案,实时远程视频协作

    2019年,预计会议协作需求将持续增长,创建多功能会议室促进本地.异地协作仍然是一个强大的趋势.无论空间大小或距离远近,政府部门.企业单位以及团体组织为了实现决策指令畅通.管理层次分明,需要通过对会议 ...

  6. java 开发书籍 目录_《零基础 Java 开发 》全书目录

    第1部分 Java开发基础 第一章 搭建Java开发环境 1.1 Java简介 1.2 Java开发环境搭建 1.3 Java语⾔的功能 1.4 使用Eclipse开发Java程序 1.5 使用IDE ...

  7. java作业不能运行_从Windows运行时,YARN作业失败

    我正在尝试在Windows上运行Spring Boot YARN sample . 在我的VM上运行单节点Hadoop 2.7.1 . 当我尝试使用 java -jar ... 从Windows运行应 ...

  8. 我的世界java 远程联机_我的世界手机版怎么远程联机 我的世界手机版远程联机方法介绍...

    <我的世界>手机版联机对于很多新朋友来说,不知道如何远程联机是一件很头疼的事,因为一个人在游戏里总是显得很孤单,有了基友就不一样了,那么怎么在游戏中联机呢?一起来看看. 我的世界手机版联机 ...

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

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

最新文章

  1. Linux下gdb调试工具的使用
  2. Github注册过程以及对管理软件的了解
  3. escape、encodeURI 、encodeURIComponent 编码与解码
  4. jira集成开发代码_7种JIRA集成可优化您的Java开发流程
  5. 转-开源云API竞争大幕开启
  6. 超大杯来了!一加10 Ultra将在第三季度登场:或搭载OPPO 自研影像芯片
  7. tensorflow-gpu:false /cuda程序执行出错: libcudart.so.10.0: cannot open shared object file
  8. Cisco IOS 命名规则(整理版)
  9. word 的脚注横线和文字怎么调整为左对齐?
  10. 产品经理应该扮演的几种角色
  11. 联想拯救者y7000p 2021安装Ubuntu18.04记录
  12. 如何区分线性系统与时变系统
  13. 金属、指纹、全网通该有的都有 中兴小鲜3正式发布
  14. html将图片转为圆形并居中
  15. 使用fastcoll生成字符串MD5碰撞
  16. 李彦宏高中全国计算机比赛,扒一扒IT大佬高考:马云数学1分考北大 李彦宏是状元...
  17. 关于团队协作开发的一些思考
  18. 求助做过笔记本ec的大佬
  19. EndNote技巧 | Endnote导出文献
  20. 疫情地图网页版代码实例

热门文章

  1. Mapbar经纬坐标偏移的加/解密算法
  2. 1-服务器的基本概念与初识Ajax
  3. 【保姆级教程】Anaconda的安装教程:包括Anaconda的介绍、下载、安装及环境变量配置等
  4. C语言rand()函数解析
  5. 车牌识别1.1:License Plate Detection and Recognition in Unconstrained Scenarios。
  6. C语言编程题——猜名次
  7. 软件测试别再被“薪资陷阱”困扰了,这份攻略带你轻松查薪资
  8. 关于python格式对齐的问题_python字符串format中英文空格对齐问题
  9. 免费的企业即时通讯软件
  10. 苹果电脑装mysql失败_Mac mysql安装失败解决方法