您可以在IntelliJ IDEA中使用Cloud Toolkit的端云互联功能实现本地和云上应用的相互调用,提升开发效率。
前提条件
在使用Cloud Toolkit实现端云互联前,请完成以下工作:
-
确保IntelliJ IDEA为2018.3及以上版本。
-
本插件支持SSH/SOCKS代理和Kubernetes代理,此两种代理任选其一。
-
使用SSH/SOCKS代理:您需准备一台可使用SSH登录的ECS,用于建立端云互联通道。具体操作,请参见通过控制台使用ECS实例(快捷版)。
重要-
请确保该ECS实例和需要互联的应用在同一个VPC内。
-
使用SSH通道,需要密码验证登录,暂不支持使用密钥对登录。
-
-
使用Kubernetes代理:您需在云端准备一个Kubernetes集群,并且本地安装配置Kubectl环境以访问该集群,您也可直接使用已有的Kubernetes集群。具体操作,请参见快速创建Kubernetes托管版集群。
-
使用限制
Java应用限制
端云互联目前支持Java应用,而且不同Java微服务框架还有以下限制:
|
微服务框架 |
使用限制 |
|
Spring Cloud |
如果使用Nacos进行配置管理,请确保Spring Cloud为Spring Cloud Edgware及以上版本。 |
|
Dubbo |
|
其他语言应用设置
非Java语言可使用容器模式,无特殊限制。
步骤一:安装Cloud Toolkit
-
启动IntelliJ IDEA。
-
在IntelliJ IDEA中安装插件。
-
macOS系统 : 在顶部菜单栏选择IntelliJ IDEA > Preference...,在Preference配置页面左边导航栏单击Plugins,搜索Alibaba Cloud Toolkit,并单击Install安装。
-
Windows系统:在顶部菜单栏选择 File > Settings,在Settings页面的左侧导航栏单击Plugins,搜索Alibaba Cloud Toolkit,并单击Install安装。
-
-
在IntelliJ IDEA中插件安装成功后,重启IntelliJ IDEA,您可以在工具栏看到Alibaba Cloud Toolkit的图标(
)。
步骤二:配置阿里云账号
在安装完Alibaba Cloud Toolkit后,您需使用AccessKey ID和AccessKey Secret来配置阿里云的账号。
-
启动IntelliJ IDEA。
-
在顶部菜单栏中选择Tools > Alibaba Cloud > Preferences...。
-
在Settings对话框中选择Alibaba Cloud Toolkit > Accounts。
-
在Accounts对话框中设置AccessKey ID和AccessKey Secret,然后单击OK。
关于阿里云账号说明如下:
-
如果您已经注册过阿里云账号,在Accounts对话框中单击Get existing AK/SK,进入阿里云登录页面。用已有账号登录后,跳转至安全信息管理页面,获取AccessKey ID和AccessKey Secret。
-
如果您还没有阿里云账号,在Accounts对话框中单击Sign up,进入阿里云账号注册页面,注册账号。注册完成后按照上述方式获取AccessKey ID和AccessKey Secret。
-
步骤三:配置端云互联
-
启动IntelliJ IDEA。
-
在顶部菜单栏中选择Tools > Alibaba Cloud > Preferences...。
-
在Settings对话框中选择Alibaba Cloud Toolkit > Microservice > Microservice。
-
在Microservice对话框中配置端云互联相关参数。
参数
描述
配置粒度
本地工程需要使用端云互联功能的粒度,包含项目和模块。
-
(推荐)项目:当前工程使用统一的端云互联配置。适用于单模块工程或模块间无配置差异的多模块工程。
-
模块:当前工程包含多个模块,其中仅某个模块需要使用端云互联或不同模块的端云互联配置需求不同。如果需要为不同模块配置端云互联,选择具体模块,完成各自的端云互联配置。
端云互联
选中端云互联,启用端云互联功能。
启用端云互联功能后,本地应用默认注册到云端注册中心并订阅云端注册中心的服务,本地应用中的服务可以和云端服务相互调用。
如果仅需要调用云端服务,不希望云端服务调用本地服务,可以选中只订阅云端服务,不注册本地服务。
产品
选择微服务引擎(MSE)。
区域
选择MSE所在的地域。
实例
选择MSE实例。
命名空间
选择MSE实例所在的命名空间。
本地SpringCloud服务端口
如果是Spring Cloud应用,则需在SpringCloud服务端口文本框内添加该应用的服务端口,其他类型应用不需要填写。
代理
选择代理机。
初始化代理...
Kubernetes代理无需此操作,SSH/SOCKS代理需进行此操作,配置SSH规则使得端云互联生效。
说明如果代理列表中最后一级SSH代理非root账号,则会提示您提供root权限来进行配置,配置完成后即可正常使用。若您不希望插件帮您配置,也可手动配置代理。
高级配置
选中自动关闭启动提示,可设置应用启动提示停留时间,单位毫秒。
一键诊断
端云互联过程中,如果遇到问题,可以单击一键诊断,排查etrans通道启动异常和服务连接不通等问题。
-
-
先单击Apply,然后单击OK。
重要如果使用EDAS专有云企业版,还需要按以下步骤在Cloud Toolkit中配置Endpoint。Endpoint请联系EDAS技术支持获取。
-
在Preference(Filtered)对话框的左侧导航栏中选择Appearance & Behavior > Endpoint。
-
在Endpoint对话框中设置Endpoint,配置完成后,单击Apply and Close。
-
(可选)步骤四:使用本地进程模式进行端云互联
启动本地应用,如果当前状态处于端云互联状态,那么会有如下提示:
并且,在启动应用之后会启动一个etrans的进程:
ConsumerApplication.java 代码:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ConsumerApplication {
@LoadBalanced
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
启动后 etrans 进程控制台输出:
2020-10-13 11:47:15 成功连接跳板机:xxx
(可选)步骤五:使用本地容器模式进行端云互联
您也可使用本地容器模式来进行端云互联。