开源软件 Apache Dubbo 牵手 IDE 插件,开发部署
自从产品经理银时小伙和他的团队在去年11月发布 Cloud Toolkit(一款 IDE 插件)以来,已帮助数以万计的开发者们提高了开发、测试、诊断以及应用部署效率。期间,他们还发布了 Contributor Ranking List,和开发者们一同定义、打造好用的 IDE 插件。
![](https://img.haomeiwen.com/i2509688/4114b9c7d8f427f5.jpg)
这一次,在最新的版本中,插件热情牵手了全国受欢迎的开源社区 Apache Dubbo,支持快速创建 RPC 框架 Dubbo 项目工程,并且将 Dubbo 应用快速部署到 EDAS(一个应用托管和微服务管理的PaaS平台) 上,同时支持本地服务和部署在 EDAS 上的服务之间互相调用。希望插件在拥抱开源的路上,服务好更多的开发者。
下文将为大家演示如何利用 Cloud Toolkit 快速创建 Apache Dubbo 工程,以及运行并验证这个样例工程的可执行性。
如何安装 cloud Toolkit 插件
![](https://img.haomeiwen.com/i2509688/848086483850c391.png)
本文使用 IntelliJ IDEA 在 MAC 下进行安装:
- 打开 IntelliJ IDEA -> Preference,在弹出的框里面选择插件;
- 在输入框中输入
Alibaba Cloud Toolkit
; - 在搜索结果中点击安装;
由于网络原因,可能会出现搜索不到的情况,请多尝试几次,或使用离线安装包进行下载。(点击“阅读原文”,免费下载)
安装完毕,重启 IntelliJ IDEA,再次访问 Preference, 可以看到左侧菜单出现了 Alibaba Cloud Toolkit,在已安装的插件里面也能找到。
![](https://img.haomeiwen.com/i2509688/d320b8d9e03104d7.png)
如何创建 Apache Dubbo 工程
新建工程
![](https://img.haomeiwen.com/i2509688/e3ae3db2c96e009c.png)
- 打开 File -> New -> Project;
- 在弹出的对话框中选择 Apache Dubbo;
- 选择对应的 JDK 版本;
- 点击 next;
设置工程基本配置
![](https://img.haomeiwen.com/i2509688/f6636980a50b3b67.png)
- 选择 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;
配置工程名和目录
![](https://img.haomeiwen.com/i2509688/14f042b8d21db0ed.png)
- 设置工程名,例如
dubbo-demo
; - 设置工程目录,例如
~/work/edas/dubbo-demo
; - 点击 Finish;
创建完毕
此时 IDEA 将会创建一个新的工程,里面包含了一个完成 Dubbo Provider + Consumer 的样例工程。
![](https://img.haomeiwen.com/i2509688/77eb98d54df47139.png)
验证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 环境中,期待与大家见面哦。
本文作者:中间件小哥
本文为云栖社区原创内容,未经允许不得转载。