关于云原生-cloud-native:Spring-Cloud-Alibaba-IDE-工具重大升级

46次阅读

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

作者 | 银时

导读 :Spring Cloud Alibaba 是由阿里巴巴于 2018 年 11 月正式开源的微服务开发一站式解决方案,通过近两年的倒退,现已成为 Spring Cloud 生态中最沉闷、开发体验最好的实现。最近,Spring Cloud Alibaba 官网再次对周边的工具进行了降级,和 Cloud Toolkit 深度集成,提供了工程创立、代码编写、一键部署和问题诊断等一系列开发者提效工具。

明天就和大家分享一下这个工具 —— Cloud Toolkit,重点包含:

  1. 在 IDE 中一键创立 Spring Cloud Alibaba 我的项目
  2. 演示采纳 Java 代码规约 Review 代码
  3. 一键部署到任意两台机器
  4. 一键部署到阿里云容器服务 ACK
  5. 应用 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 5
    private 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>";}

    @Bean
    public 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 等技术畛域、聚焦云原生风行技术趋势、云原生大规模的落地实际,做最懂云原生开发者的公众号。”

正文完
 0