用友云开发者中心助你上云系列之在线调试

现在,大家开始越来越多的谈论到高可用架构的互联网应用。什么是高可用?高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。

当我们谈论服务高可用的时候,我们通常聚焦在高并发、大流量、高可用性等关键字,企业上云,这些问题也是不可避免的。互联网应用正在由单体应用架构演变为微服务架构,服务的拆分,使得部署在云的运行实例也指数级的增加。

但是!测试再充分的服务,在线上运行起来后,都可能会出现问题。这些问题可能跟架构设计有关,也可能是为了快速响应用户需求在快速迭代中带来的BUG.这些缺陷如同大堤上的蚁穴,随时可能会引起线上服务的整体崩溃。

用友云开发者中心助你上云系列之在线调试
在这种情况下,我们就需要研发人员能迅速定位问题,并将修复问题后的版本在用户无感知的情况下快速上线,将缺陷的负面影响最小化。而线上问题的快速定位无非从日志分析、性能监控、线上环境的远程调试等几个方面入手。不同的方式适用于不同状况,各有千秋。但在这些解决方案中,基于线上环境的远程调试往往能够迅速分析出原因并解决,问题的解决速度脱颖而出。

什么是Java远程调试?

Java远程调试的原理是两个Java VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信,被debug程序的Java虚拟机在启动时开启debug模式,启动debug监听程序。JDWP是Java Debug Wire Protocol的缩写,它定义了调试器(debugger)和被调试的Java虚拟机(target vm)之间的通信协议。

target vm中运行着我们希望要调试的程序,它与一般运行的Java虚拟机没有什么区别,只是在启动时加载了Agent JDWP从而具备了调试功能。而debugger就是我们熟知的调试器,它向运行中的target vm发送命令来获取 target vm运行时的状态和控制Java程序的执行。Debugger和target vm分别在各自的进程中运行,他们之间的通信协议就是JDWP。

如何使用开发者中心进行在线调试?

如果你已经使用了开发者中心部署应用(上云),那么,可以非常荣幸的告诉你,看完下面的步骤,只需几秒钟的配置,就可以解救你于水火之中。

抛开一切烦恼,掏出你的笔记本电脑,准备开始具体的配置吧。
操作步骤

应用属性增加环境变量

CATALINA_OPTS = -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

如图:

应用增加调试端口,需和步骤1中的属性address=8000一致,如8000

如图:

保存并重启实例

实例重启完毕后,点击需要远程调试的实例控制台

在实例控制台中输入echo $PORT0,$PORT1,输出信息为应用放开的端口对应该实例的数组,PORT0对应8080端口,PORT1对应实例的8000端口(即远程调试使用的端口号)

查看实例运行的主机

配置开发工具IDE的远程调试信息为步骤6的IP地址和步骤5获得的端口

至此,大功告成,你可以轻松的进行问题排查了。此过程也可以用于日常开发过程中的在线定位问题,面对众多的微服务,无需再烦恼了。

原文地址:http://blog.51cto.com/14084875/2350302

时间: 2024-10-10 22:22:02

用友云开发者中心助你上云系列之在线调试的相关文章

用友云开发者中心,你应该知道的那些事

2018开发者中心产品不断进行架构升级优化,同时也在不断完善产品能力,目前已支撑内部大量云产品的运行,下面给大家介绍一下新增的几大能力:一.一体化的计算资源管理1.提供资源池使用率看板,资源池的内存分配和实际使用率对比情况,内存消耗情况一目了然,基于这个数据,可以更好的优化每个应用的内存分配,防止资源浪费. 提供资源池监控大盘,详细的展示资源池中CPU.内存.磁盘使用率情况,历史的波动情况等,有利于全局的了解每台主机的实际工作负载,可以根据负载情况,动态调配应用的实例数.对于高负载主机,也能够直

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP.电商系统等软件开发,商标.商品LOGO.VI.产品包装设计.营销推广.大数据人工智能等各类企业上云.数字化转型服务. 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP.电商系统等软件开发,商标.商品LOGO.VI.产品包装设计.营销推广.大数据人工智能等各类企业上云.数字化转型服务

阿里云发布新版SaaS上云工具包,全面助力SaaS上云

9月26日,在云栖大会SaaS加速器专场上,阿里云发布了新版的SaaS上云工具包(SaaS Launch Kit),发布了API网关的新功能,以及推出了全新升级的能力中心. SaaS上云工具包,顾名思义,就是帮助伙伴的SaaS上云的工具包.这里的SaaS指的广义的企业应用,包含SaaS,传统企业软件,API.解决方案等等.对SaaS而言,上云不是目的,而是手段.上云真正的目的是客户体验提升,业务连续,以及伙伴业务发展和降低成本.阿里云希望SaaS上云对伙伴是快捷的, 省心的; 对客户是友好的,

考考你!布署上云最快需要几步?

考考你!布署上云最快需要几步?不包括打开阿里云网站,只需要1步——用基础环境镜像一键部署! 买了云服务器,不会用?运行云上业务,没有得力工具? 看图大猜想,答案猛戳这里:http://www.aliyun.com/act/aliyun/1218/service.html 工具.运维服务.镜像你值得拥有! 12.18工具运维镜像分会场[工具服务]全场低至0元:[运维服务]全场3折,0元限量抢购:[镜像服务]全场免费. 助你上云,so easy!#1218不止是低成本#

云托管数据中心可以提供什么?

随着企业痛苦地意识到云计算的任何设置和操作都很容易实现,但内部云的采用仍然比公有云慢得多.企业的风险规避行为以及复杂性带来了很多风险,此外,对于大多数公司来说,聘用具有专业知识的人来构建和管理内部云的成本非常高昂.因此,自我管理的云或云托管数据中心正在成为企业考虑的新的解决方案.我们来看下云托管数据中心可以提供什么?它如何工作,以及有哪些缺点. 云托管数据中心可以提供什么_香港葵芳idc数据中心 什么是云托管数据中心? 在云托管数据中心,云中的"大脑"从内部设备接收遥测数据,并帮助发现

我们到底要不要上云?

云计算是一种新的IT服务模式,云是网络.互联网的一种比喻说法,将各种计算和网络资源虚拟出来,向用户提供一种安全快捷的数据存储和网络计算服务.这种计算服务一出现市场上很快,就出现了数十种各种各样的云. 现在再来讨论要不要上云,会不会有点晚了一点?这几年大家不是都争着去上云吗?还有必要讨论上不上?答案是当然有必要,在我们对云计算似懂非懂时,看到处都在讲云计算如何的此时进行理性的上云思考未尝不是一件好事. 第一:上云并不能完全降低IT运维成本 众所周知,上云最直接的优势就是可以节省成本,用户不用自己去

云需硬件加技术,企业上云时代来临

在这科技突飞猛进的时代里,很多新技术不断的涌现,为各个领域的发展注入了新动力,而云计算技术就是当下最大的宠儿,也是通往未来世界的基石. 云计算本身是分布式计算的一种,在早期简单的分布式计算,解决任务分发,进行计算结果的合并.所以云计算又被叫做网格计算.通过这项技术,可以在几秒内完成数据的处理(数以万计),达到强大的网络服务. 而现在的云服务早已今非昔比,不仅仅只是分布式计算了,而是分布式计算.效用计算.并行计算.网络存储.负载均衡.热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果.作为前沿技术

我要上官网,上云案例征集活动启动啦! 提交案例,得大奖!【阿里云】

云产品是什么,公司业务需要上云吗,怎么上云?大量用户对上云不了解,怎么办? 看同行业别人怎么上云的!不同行业不同发展阶段的上云案例库将助力千千万万企业和个人0门槛的轻松上云! 云栖号 正式面向全网发起: 阿里云上云案例嘉年华(第一季)- 面向全网收集优质的上云案例和最佳实践. 奖品超出你的想象!顶级流量曝光:阿里云大礼包:云栖号案例库专属证书! 让你的案例千万人看得到! 上云案例和最佳实践是什么? 上云案例: 你上云的那些故事和经历,内容需包括:基本介绍(公司/个人名称及简介),为什么要上云(业

最佳实践 · 实例级别数据库上云RDS SQL Server

摘要: 摘要 到目前,我们完成了SQL Server备份还原专题系列八篇月报分享:三种常见的数据库备份.备份策略的制定.查找备份链.数据库的三种恢复模式与备份之间的关系.利用文件组实现冷热数据隔离备份方案.如何监控备份还原进度.阿里云RDS SQL自动化迁移上云的一种解决方案以及上个月分享的RDS SDK实现数据库迁移上阿里云,本期我们分享如何将用户线下或者ECS上自建实例级别数据库一键迁移上阿里云RDS SQL Server. 摘要到目前,我们完成了SQL Server备份还原专题系列八篇月报