您可以在IntelliJ IDEA中使用Cloud Toolkit的端云互联功能实现本地和云上应用的相互调用,提升开发效率。

前提条件

在使用Cloud Toolkit实现端云互联前,请完成以下工作:

  • 确保IntelliJ IDEA为2018.3及以上版本。
  • 2020.9.1及以上版本的Cloud Toolkit能够基于本地工程的项目(Project)和模块(Module)粒度配置端云互联,如果想使用配置粒度功能,请将Cloud Toolkit升级到2020.9.1及以上版本。
    说明 如果Cloud Toolkit已经是2020.9.1版本,但没有配置粒度选项,请您卸载再重新安装Cloud Toolkit插件。
  • 本插件支持SSH/SOCKS代理和Kubernetes代理,此两种代理任选其一。
    • 使用SSH/SOCKS代理:您需准备一台可使用SSH登录的ECS,用于建立端云互联通道。具体操作,请参见通过控制台使用ECS实例(快捷版)云服务器ECS快速入门
      注意
      • 请确保该ECS实例和需要互联的应用在同一个VPC内。
      • 使用SSH通道,需要密码验证登录,暂不支持使用密钥对登录。
    • 使用Kubernetes代理:您需在云端准备一个Kubernetes集群,并且本地安装配置Kubectl环境以访问该集群,您也可直接使用已有的Kubernetes集群。具体操作,请参见快速创建Kubernetes托管版集群

使用限制

Java应用限制

端云互联目前支持Java应用,而且不同Java微服务框架还有以下限制:

微服务框架 使用限制
Spring Cloud 如果使用Nacos进行配置管理,请确保Spring Cloud为Spring CloudEdgware及以上版本。
Dubbo
  • Dubbo 2.7.2及以上版本
  • 依赖的服务注册及发现组件版本:
    • dubbo-nacos-registry 2.7.2及以上版本
    • edas-dubbo-extension 2.0.2及以上版本
HSF

其他语言应用设置

非Java语言可使用容器模式,无特殊限制。

步骤一:安装Cloud Toolkit

  1. 启动IntelliJ IDEA。
  2. 在IntelliJ IDEA中安装插件。
    • macOS系统: 在顶部菜单栏选择IntelliJ IDEA > Preference...,在Preference配置页面左边导航栏单击Plugins,搜索Alibaba Cloud Toolkit,并单击Install安装。在IntelliJ IDEA中安装插件—mac
    • Windows系统:在顶部菜单栏选择File > Settings,在Settings页面的左侧导航栏单击Plugins,搜索Alibaba Cloud Toolkit,并单击Install安装。在IntelliJ IDEA中安装插件—windows
  3. 在IntelliJ IDEA中插件安装成功后,重启IntelliJ IDEA,您可以在工具栏看到Alibaba Cloud Toolkit的图标(Alibaba Cloud Toolkit图标)。

步骤二:配置阿里云账号

在安装完Alibaba Cloud Toolkit后,您需使用AccessKey ID和AccessKey Secret来配置阿里云的账号。

  1. 启动IntelliJ IDEA。
  2. 在顶部菜单栏中选择Tools > Alibaba Cloud > Preferences...
  3. Settings对话框中选择Alibaba Cloud Toolkit > Accounts
  4. Accounts对话框中设置AccessKey IDAccessKey Secret,然后单击OK
    Accounts

    关于阿里云账号说明如下:

    • 如果您已经注册过阿里云账号,在Accounts对话框中单击Get existing AK/SK,进入阿里云登录页面。用已有账号登录后,跳转至安全信息管理页面,获取AccessKey IDAccessKey Secret
    • 如果您还没有阿里云账号,在Accounts对话框中单击Sign up,进入阿里云账号注册页面,注册账号。注册完成后按照上述方式获取AccessKey IDAccessKey Secret

步骤三:配置端云互联

  1. 启动IntelliJ IDEA。
  2. 在顶部菜单栏中选择Tools > Alibaba Cloud > Preferences...
  3. Settings对话框中选择Alibaba Cloud Toolkit > Microservice > Microservice
  4. Microservice对话框中配置端云互联相关参数。
    EDAS端云互联
    参数 描述
    配置粒度 本地工程需要使用端云互联功能的粒度,包含项目和模块。
    • 项目:当前工程使用统一的端云互联配置。适用于单模块工程或模块间无配置差异的多模块工程。
    • 模块:当前工程包含多个模块,其中仅某个模块需要使用端云互联或不同模块的端云互联配置需求不同。如果需要为不同模块配置端云互联,选择具体模块,完成各自的端云互联配置。
    端云互联 选中端云互联,启用端云互联功能。

    启用端云互联功能后,本地应用默认注册到云端注册中心并订阅云端注册中心的服务,本地应用中的服务可以和云端服务相互调用。

    如果仅需要调用云端服务,不希望云端服务调用本地服务,可以选中只订阅云端服务,不注册本地服务

    产品 选择企业级分布式应用服务(EDAS)
    云端互联环境 设置需要调用的云端应用所在的地域和命名空间。除了默认命名空间外,其他命名空间下的应用需按照以下步骤手动打开允许远程调试开关。
    1. 登录EDAS控制台
    2. 在左侧导航栏选择资源管理 > 微服务空间,然后在顶部菜单栏选择地域。
    3. 在命名空间列表中目标命名空间的操作列单击编辑按钮。
    4. 编辑命名空间对话框中打开允许远程调试开关。
    本地服务归属应用 选择EDAS在本地所启动的微服务应用。
    本地SpringCloud服务端口 如果是Spring Cloud应用,则需在SpringCloud服务端口文本框内添加该应用的服务端口,其他类型应用不需要填写。
    代理 选择代理机。关于代理配置的相关内容,请参见配置代理
    初始化代理...

    Kubernetes代理无需此操作,SSH/SOCKS代理需进行此操作,配置SSH规则使得端云互联生效。

    说明 如果代理列表中最后一级SSH代理非root账号,则会提示您提供root权限来进行配置,配置完成后即可正常使用。若您不希望插件帮您配置,也可手动配置代理,关于手动初始化代理的相关操作,请参见配置代理
    加入全链路流控 选中加入全链路流控,选择本地服务归属灰度分组,控制请求链路流向。
    说明 全链路流控是EDAS提供的对服务流量进行细粒度控制的核心能力。通过全链路流控,您可在同一套开发环境中进行多特性开发且相互间不受干扰。
    高级配置 选中自动关闭启动提示,可设置应用启动提示停留时间,单位毫秒。
    一键诊断

    端云互联过程中,如果遇到问题,可以单击一键诊断,排查etrans通道启动异常服务连接不通等问题。

  5. 先单击Apply,然后单击OK
    注意 如果使用EDAS专有云企业版,还需要按以下步骤在Cloud Toolkit中配置Endpoint。Endpoint请联系EDAS技术支持获取。
    1. Preference(Filtered)对话框的左侧导航栏中选择Appearance & Behavior > Endpoint
    2. Endpoint对话框中设置Endpoint,配置完成后,单击Apply and Close

(可选)步骤四:使用本地进程模式进行端云互联

启动本地应用,如果当前状态处于端云互联状态,那么会有如下提示:

启动本地应用进行端云互联

并且,在启动应用之后会启动一个etrans的进程:

启动etrans的进程

(可选)步骤五:使用本地容器模式进行端云互联

您也可使用本地容器模式来进行端云互联,具体操作,请参见本地容器模式

更多信息