开源软件 Apache Dubbo 牵手 IDE 插件,开发部署提速不止 8 倍

这一次,在最新的版本中,插件热情牵手了全国受欢迎的开源社区 Apache Dubbo,支持快速创建 RPC 框架 Dubbo 项目工程,并且将 Dubbo 应用快速部署到 EDAS(一个应用托管和微服务管理的PaaS平台) 上,同时支持本地服务和部署在 EDAS 上的服务之间互相调用。希望插件在拥抱开源的路上,服务好更多的开发者。

7月22日晚上 8:00-9:00,中间件小姐姐软萌音直播,让你开发部署提速 8 倍!
点击进入直播间


点击进入直播间

自从产品经理银时小伙和他的团队在去年11月发布 Cloud Toolkit(一款 IDE 插件)以来,已帮助数以万计的开发者们提高了开发、测试、诊断以及应用部署效率。期间,他们还发布了 Contributor Ranking List,和开发者们一同定义、打造好用的 IDE 插件。

下文将为大家演示如何利用 Cloud Toolkit 快速创建 Apache Dubbo 工程,以及运行并验证这个样例工程的可执行性。

如何安装 cloud Toolkit 插件

本文使用 IntelliJ IDEA 在 MAC 下进行安装:

  1. 打开 IntelliJ IDEA -> Preference,在弹出的框里面选择插件;

  2. 在输入框中输入 Alibaba Cloud Toolkit

  3. 在搜索结果中点击安装;

由于网络原因,可能会出现搜索不到的情况,请多尝试几次,或使用离线安装包进行下载。(点击“阅读原文”,免费下载)

安装完毕,重启 IntelliJ IDEA,再次访问 Preference, 可以看到左侧菜单出现了 Alibaba Cloud Toolkit,在已安装的插件里面也能找到。

如何创建 Apache Dubbo 工程

新建工程

  1. 打开 File -> New -> Project;
  2. 在弹出的对话框中选择 Apache Dubbo;
  3. 选择对应的 JDK 版本;
  4. 点击 next;

设置工程基本配置

  1. 选择 maven 项目;
  2. 输入相应的 groupID,例如 com.dubbo.example;
  3. 输入 ArtifactId,例如 dubbo-demo;
  4. 输入 Version,例如 1.0-SNAPSHOT;
  5. 选择 Dubbo 的版本,例如 2.7.2;
  6. 勾选要创建的种类,勾选 Consumer 和 Provider,则会相应创建出服务提供者和服务消费者的代码;
  7. 选择 Spring-boot 的版本,例如 2.1.5.RELEASE;
  8. 点击 Next;

配置工程名和目录

  1. 设置工程名,例如 dubbo-demo
  2. 设置工程目录,例如 ~/work/edas/dubbo-demo
  3. 点击 Finish;

创建完毕

此时 IDEA 将会创建一个新的工程,里面包含了一个完成 Dubbo Provider + Consumer 的样例工程。

验证Apache Dubbo工程

可以看到,创建出来的 Dubbo 样例工程是一个 Spring boot + Dubbo 的工程。服务端提供了一个com.dubbo.example.DemoService,通过 dubbo 协议暴露在 12345 端口。值得注意的是,由于默认dubbo.registry.address=N/A,这说明服务没有注册到任何注册中心,需要客户端通过直连的方式来发现服务。

1. 启动Provider

启动 com.dubbo.example.provider.DubboProviderBootstrap#main,观察标准输出中出现一下字样:

2019-07-03 16:05:50.585  INFO 19246 --- [           main] c.d.e.provider.DubboProviderBootstrap    : Started DubboProviderBootstrap in 36.512 seconds (JVM running for 42.004)
2019-07-03 16:05:50.587 INFO 19246 --- [pool-1-thread-1] .b.c.e.AwaitingNonWebApplicationListener : [Dubbo] Current Spring Boot Application is await...

这说明服务端已经成功启动。

2. 启动Consumer

在消费端的com.dubbo.example.consumer.DubboConsumerBootstrap中,有如下代码:

@Reference(version = "1.0.0", url = "dubbo://127.0.0.1:12345")
private DemoService demoService;

这表明消费端通过指定服务端地址dubbo://127.0.0.1:12345,通过直连方式调用服务。

启动com.dubbo.example.consumer.DubboConsumerBootstrap#main,观察服务端日志,出现如下内容:

Hello mercyblitz, request from consumer: /30.5.124.39:59553

观察客户端日志,出现如下内容:

Hello mercyblitz, response from provider: 30.5.124.39:12345

表明客户端调用成功。

注意,若要使用注册中心进行服务注册发现,请修改 dubbo-demo/dubbo-demo-provider/src/main/resources/application.propertiesdubbo-demo/dubbo-demo-consumer/src/main/resources/application.properties 文件中的 dubbo.registry.address 为对应的注册中心的地址,例如 zookeeper://localhost:2181。注意还需要引入响应的 zk 依赖。

总结

看到这里,相信你已经掌握了如何安装 Cloud Toolkit 插件,如何快速创建一个基于 Spring-boot + Dubbo 的样例工程,快来体验一下开发部署提速 8 倍的感受点击免费下载插件, 下一篇文章中将介绍如何将这个工程部署到 EDAS 环境中,期待与大家见面哦。

企业级互联网架构Aliware,让您的业务能力云化:https://www.aliyun.com/aliware