Spring Cloud Alibaba IDE 工具重大升级
作者 | 银时
导读:Spring Cloud Alibaba 是由阿里巴巴于 2018 年 11 月正式开源的微服务开发一站式解决方案,经过近两年的发展,现已成为 Spring Cloud 生态中最活跃、开发体验最好的实现。最近,Spring Cloud Alibaba 官方再次对周边的工具进行了升级,和 Cloud Toolkit 深度集成,提供了工程创建、代码编写、一键部署和问题诊断等一系列开发者提效工具。
今天就和大家分享一下这个工具 —— Cloud Toolkit,重点包括:
- 在 IDE 中一键创建 Spring Cloud Alibaba 项目
- 演示采用 Java 代码规约 Review 代码
- 一键部署到任意两台机器
- 一键部署到阿里云容器服务 ACK
- 使用 Arthas 进行远程诊断
安装 Cloud Toolkit 插件只需要 1 分钟 --> 教程链接:https://www.aliyun.com/product/cloudtoolkit
第一:一键创建工程
首先,我们借助 Cloud Toolkit 来创建一个完整的 Spring Cloud Alibaba 项目。点击菜单 New - Project:
选择 Alibaba Java Initializr:
编辑项目基本属性,点击 Next:
选择项目依赖,点击 Next:
编辑项目路径,点击** Finish**:
至此,项目创建完毕。
注意:如果发现没有自动导入到当前窗口的项目,请点击 Reload All Maven Projects。
第二:采用 Java 代码规约 Review 代码
在写代码过程中,Cloud Toolkit 提供了代码 Review 的能力。
为了更好的演示功能,我们预先编写好了一个代码编写有缺陷的代码,使用如下示例代码,覆盖 DemoApplication.java。
package com.example.demo;import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.concurrent.ThreadLocalRandom;import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
@RestController
public class DemoApplication {private static String TEST_STRING = "test";private static LocalDateTime time = LocalDateTime.now(ZoneId.of(ZoneOffset.ofHours(8).getId()));private static final Logger logger = LogManager.getLogger();public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}private int counter = 0;// watch com.example.demo.DemoApplication print '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'// trace com.example.demo.DemoApplication print -v -n 5 --skipJDKMethod false '1==1'// stack com.example.demo.DemoApplication print -v -n 5private double print(String s) {System.out.println(s);int delay = ThreadLocalRandom.current().nextInt(3000);try {Thread.sleep(delay);} catch (InterruptedException e) {e.printStackTrace();}if (delay % 3 == 0) {throw new IllegalStateException("test exception");}return Math.random();}@GetMapping("/")public String root() {return "<h1>Maven Spring Boot Application started at ------ " + time + "</h1>";}@Beanpublic CommandLineRunner runner() {return args -> {while (true) {String msg = LocalDateTime.now(ZoneId.of(ZoneOffset.ofHours(8).getId())).toString() + " " + counter++;try {print(msg);} catch (Exception e) {}Thread.sleep(333);}};}}
在设置中打开代码规约检查:
如下图所示,对于不符合规约的代码会进行提示:
第三:一键部署
编写完代码之后,就要开始进行远程部署了。Cloud Toolkit 提供了一键部署的能力。点击右键,Alibaba Cloud-Deploy to Host:
选择需要部署的两台机器,点击 Select:
需要部署的机器会展示在表格中:
点击 Select Command - Add Command,添加启动 SpringBoot 命令:
选择添加的命令:
在 Target Directory 中,输入 /root,点击 Run:
部署成功后,Spring Boot 项目开始打印日志:
第四:运行时诊断
接下来,我们来演示对远程某一台机器上运行的 Java 应用,进行远程诊断。
在 Cloud Toolkit 的 Host 视图中,点击 More-Diagnostic:
Arthas 启动后,选择需要诊断的 Java 进程:
进程挂载成功,可以开始输入 Arthas 诊断命令:
atch com.example.demo.DemoApplication print '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
stack com.example.demo.DemoApplication print -v -n 5
总结
至此,一个完整的 Spring Cloud 应用的开发、部署和运行诊断就完成了。简单的来说,Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。
通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传和 MySQL 执行器等工具。其包含的功能还有很多,包括:
- 一键部署本地 IDE 内项目到任意远程服务器
- 一键部署本地 IDE 内项目到阿里云 EDAS、SAE 和 Kubernetes
- 本地 Docker Image 打包和仓库推送工具
- 远程服务器实时日志查看
- 阿里云小程序开发工具
- 阿里云函数计算开发工具
- 阿里云 RDS 内置 SQL 执行器
- 内置 Terminal 终端
- 文件上传
- Apache Dubbo 框架项目模板&代码生成
- Java 程序诊断工具
- RPC 服务端云联调
课程推荐
去年,CNCF 与 阿里云联合发布了《云原生技术公开课》已经成为了 Kubernetes 开发者的一门“必修课”。今天,阿里云再次集结多位具有丰富云原生实践经验的技术专家,正式推出《云原生技术实践公开课》。课程内容由浅入深,专注讲解“ 落地实践”。还为学习者打造了真实、可操作的实验场景,方便验证学习成果,也为之后的实践应用打下坚实基础。点击链接查看课程:https://developer.aliyun.com/learning/roadmap/cloudnative2020
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”
Spring Cloud Alibaba IDE 工具重大升级相关推荐
- Spring Cloud Alibaba 0.9.0 升级到 2.1.0 手把手教程
点击上方"IT牧场",选择"设为星标"技术干货每日送达! TIPS 本文基于Spring Cloud Greenwich SR3编写,理论支持Spring Cl ...
- Spring Cloud Alibaba 消息队列:基于 RocketMQ 实现服务异步通信
本讲咱们将学习以下三方面内容: 介绍消息队列与 Alibaba RocketMQ: 掌握 RocketMQ 的部署方式: 讲解微服务接入 RocketMQ 的开发技巧: 首先咱们先来认识什么是消息队列 ...
- IDEA中 30 秒生成 Spring Cloud Alibaba 工程
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 如果你想使用 Spring Cloud Alibaba, ...
- 流量暴增,掌门教育如何基于 Spring Cloud Alibaba 构建微服务体系?
作者 | 童子龙 掌门教育基础架构部架构师 **导读:**本文整理自作者于 2020 年云原生微服务大会上的分享<掌门教育云原生落地实践>,本文主要介绍了掌门教育云原生落地实践,主要围绕 ...
- 进击的 Spring Cloud Alibaba —— 框架与服务
作者 | 陈曦(良名) Spring Cloud Alibaba 项目成员,start.aliyun.com 负责人. 导读:本文整理自作者于 2020 年云原生微服务大会上的分享<进击的 S ...
- IDEA 中 30 秒生成 Spring Cloud Alibaba 工程
作者 | 图恩 阿里云技术专家 如果你想使用 Spring Cloud Alibaba,那么你遇到的第一个问题一定是如何快速的创建一个脚手架工程. 近日,阿里巴巴发布了 Spring 的国内脚手架定 ...
- 搞到一个IDEA插件,H哥30秒生成一个Spring Cloud Alibaba工程
如果你想使用 Spring Cloud Alibaba,那么你遇到的第一个问题一定是如何快速的创建一个脚手架工程. 近日,阿里巴巴发布了 Spring 的国内脚手架定制版 Aliyun Java In ...
- Spring Cloud Alibaba 微服务详细笔记
文章目录 SpringCloud 一.微服务概述 1.1.什么是微服务? 1.2.为什么是微服务? 1.3.架构演变 1.4.微服务的解决方案 二.什么是SpringCloud 2.1.官方定义 2. ...
- 【Spring Cloud Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权
一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间这里只贴出关键部分代码的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证 ...
最新文章
- SpringBoot巧用 @Async 提升API接口并发能力!
- python语言程序设计——python3的33个保留字
- VMM虚拟机启动失败故障处理
- weblogic调优的经过
- 2020年深度学习调参技巧合集
- 解决ppt里面添加flash后在其他电脑上不能播放的问题
- 31 个用来测试你网站各项性能的免费在线工具
- hadoop最新稳定版本dkhadoop版本选择介绍
- Linux网络设备驱动程序
- Vue 3 模板语法
- Android马甲包
- 【阿里云双11薅羊毛攻略】领限量手办详细步骤
- 洛夏墨迹测验(Rorschach Inkblot Test)
- 排队论,对策论,层次分析法
- 阿里巴巴高级技术专家李浩:千牛开放从云到端
- 安卓开发为什么选择用Java语言
- 大于4GB镜像文件刻录方法
- 自动修复.dll文件异常
- swal弹窗_swal() 弹出删除确认框
- linux thinkphp 计划任务_Linux之计划任务