自从产品经理银时小伙和他的团队在去年11月发布 Cloud Toolkit(一款 IDE 插件)以来,已帮助数以万计的开发者们提高了开发、测试、诊断以及应用部署效率。期间,他们还发布了 Contributor Ranking List,和开发者们一同定义、打造好用的 IDE 插件。
这一次,在最新的版本中,插件热情牵手了全国受欢迎的开源社区 Apache Dubbo,支持快速创建 RPC 框架 Dubbo 项目工程,并且将 Dubbo 应用快速部署到 EDAS(一个应用托管和微服务管理的PaaS平台) 上,同时支持本地服务和部署在 EDAS 上的服务之间互相调用。希望插件在拥抱开源的路上,服务好更多的开发者。
下文将为大家演示如何利用 Cloud Toolkit 快速创建 Apache Dubbo 工程,以及运行并验证这个样例工程的可执行性。
如何安装 cloud Toolkit 插件
本文使用 IntelliJ IDEA 在 MAC 下进行安装:
- 打开 IntelliJ IDEA -> Preference,在弹出的框里面选择插件;
- 在输入框中输入
Alibaba Cloud Toolkit
; - 在搜索结果中点击安装;
由于网络原因,可能会出现搜索不到的情况,请多尝试几次,或使用离线安装包进行下载。(点击“阅读原文”,免费下载)
安装完毕,重启 IntelliJ IDEA,再次访问 Preference, 可以看到左侧菜单出现了 Alibaba Cloud Toolkit,在已安装的插件里面也能找到。
如何创建 Apache Dubbo 工程
新建工程
- 打开 File -> New -> Project;
- 在弹出的对话框中选择 Apache Dubbo;
- 选择对应的 JDK 版本;
- 点击 next;
设置工程基本配置
- 选择 maven 项目;
- 输入相应的 groupID,例如 com.dubbo.example;
- 输入 ArtifactId,例如 dubbo-demo;
- 输入 Version,例如 1.0-SNAPSHOT;
- 选择 Dubbo 的版本,例如 2.7.2;
- 勾选要创建的种类,勾选 Consumer 和 Provider,则会相应创建出服务提供者和服务消费者的代码;
- 选择 Spring-boot 的版本,例如 2.1.5.RELEASE;
- 点击 Next;
配置工程名和目录
- 设置工程名,例如
dubbo-demo
; - 设置工程目录,例如
~/work/edas/dubbo-demo
; - 点击 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.properties
和dubbo-demo/dubbo-demo-consumer/src/main/resources/application.properties
文件中的dubbo.registry.address
为对应的注册中心的地址,例如zookeeper://localhost:2181
。注意还需要引入响应的 zk 依赖。
总结
看到这里,相信你已经掌握了如何安装 Cloud Toolkit 插件,如何快速创建一个基于 Spring-boot + Dubbo 的样例工程,快来体验一下开发部署提速 8 倍的感受点击免费下载插件, 下一篇文章中将介绍如何将这个工程部署到 EDAS 环境中,期待与大家见面哦。