赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. Serverless应用引擎(新版)
  4. 实践教程
  5. 应用开发和部署
  6. 开发场景:通过端云互联实现开发和测试环境隔离

开发场景:通过端云互联实现开发和测试环境隔离

  • 应用开发和部署
  • 发布于 2025-04-17
  • 0 次阅读
文档编辑
文档编辑

本文通过模拟真实的调用链路,为您演示如何自动实现Serverless 应用引擎 SAE(Serverless App Engine)本地开发环境与测试环境的流量隔离,方便您快速开发联调,提高开发效率。

前提条件

  • 在IntelliJ IDEA中安装和配置Cloud Toolkit

  • 在应用所在VPC内创建一台可使用SSH登录的ECS,用于建立端云互联通道。更多信息,请参见通过控制台使用ECS实例(快捷版)。

    重要
    • ECS与应用必须处于同一VPC内。

    • SSH通道需要使用密码方式登录,暂不支持使用密钥对登录。

    • 如果操作系统配置代理,可能会导致连接端云互联通道失败。请关闭代理后重试。

背景信息

以下图中Spring Cloud框架的微服务应用为例,您无需修改任何业务代码,只需设置流量标签(Tag),通过端云联调,将流量通过不同的路径分配到SAE测试环境或本地开发环境,自动实现流量隔离。dg_microservice_network_isolation

步骤一:将应用部署至SAE测试环境

部署Demo应用,分别命名为spring-cloud-zuul、spring-cloud-a、spring-cloud-b、spring-cloud-c。具体操作,请参见将应用的服务注册与发现中心更改为Nacos。

说明

建议使用镜像方式或JAR包方式部署应用,并配置启动参数-Dnacos.use.endpoint.parsing.rule=false和-Dnacos.use.cloud.namespace.parsing=false才能使用已购买的注册中心。

步骤二:配置端云互联

  1. 启动IntelliJ IDEA。

  2. 在顶部菜单栏,选择Tools > Alibaba Cloud > Preferences...。

  3. 在Settings对话框,选择Alibaba Cloud Toolkit > Microservice。

  4. 在Microservice页面,配置端云互联的相关参数。

    1. Proxy:购买一台跟SAE应用在同一VPC下的ECS(带公网IP)作为代理机器,添加至Proxy页面。sc_idea_proxy_configuration

    2. Microservice:在Microservice页面,配置代理和已购买的MSE注册中心。sc_idea_microservice_configuration

    3. MSE:在MSE页面,配置相关参数。sc_idea_mse_configuration

      1. 输入License Key和App Name。

        您可以登录SAE的Webshell,执行以下命令获取License Key和App Name。登录Webshell的具体操作,请参见查看Webshell。

        env | grep java

        输出示例如下:

        JAVA_TOOL_OPTIONS=-javaagent:/home/admin/.opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar -Darms.licenseKey=iioe7jcnuk@a0bcdaec24f**** -Darms.appId=8641dbc9-8663-4c47-95f7-683fa6dd**** -Darms.agent.env=Serverless -Darms.agent.args=  -Dprofiler.micro.service.canary.enable=true -Dprofiler.micro.service.metadata.report.enable=true -Dprofiler.micro.service.http.server.enable=true -Dmsc.appName=cn-shenzhen-test-sc-gateway-****** -Dmsc.licenseKey=iioe7jcnuk@460d62050fa****
      2. 设置标签。在Tag栏,输入local。

      3. 下载Agent到本地。

  5. 单击Apply,然后单击OK。

  6. 启动本地应用,验证联调。

    在Info对话框如果看到端云互联成功启用的提示,证明端云互联功能已生效。sc_idea_run_application

步骤三:发起流量调用进行测试

如果您发往云原生网关的Request是HTTP请求,您需要在请求的Header中添加x-mse-tag=[local],配置完成后流量会自动在指定的环境内完成闭环。

说明

此处的Key为x-mse-tag是固定值,其参数值需要和环境标签保持一致。

环境标签配置完成后,使用curl命令发起流量调用请求,返回结果如下:

  • 主链路:

    curl http://47.106.XX.XX:8080/A/a
  • 调用结果:

    A[10.0.1.160] -> B[10.0.1.161] -> C[10.0.1.162]
  • 分支链路:

    curl http://47.106.XX.XX:8080/A/a \--header 'x-mse-tag: local'
  • 调用结果:

    A[127.0.0.1] -> B[127.0.0.1] -> C[10.0.1.162]
相关文章

通过命名空间实现开发环境、测试环境和生产环境的隔离 2025-04-17 10:59

如果您在部署应用时需要区分开发环境、测试环境和生产环境,您可以为每套环境创建一个命名空间。同一命名空间的应用之间可以通过内网实现方法调用,不同命名空间的应用可以实现相互隔离。 方案概览 本文将指引您创建dev、test、prod三个命名空间,分别用

开发场景:通过端云互联实现开发和测试环境隔离 2025-04-17 10:59

本文通过模拟真实的调用链路,为您演示如何自动实现Serverless 应用引擎 SAE(Serverless App Engine)本地开发环境与测试环境的流量隔离,方便您快速开发联调,提高开发效率。

开发场景:基于消息队列RocketMQ版实现环境隔离 2025-04-17 10:59

本文介绍如何在Serverless 应用引擎 SAE(Serverless App Engine)上基于阿里云云消息队列 RocketMQ 版实现环境隔离,您可以在不修改任何业务代码的情况下,实现异步场景下的流量控制。

线上场景:基于自建Spring Cloud Gateway或Zuul网关实现全链路灰度 2025-04-17 10:59

本文通过示例演示如何在SAE上实现全链路灰度发布, 可以在不需要修改您的任何业务代码的情况下,实现全链路流量控制。 准

云安全中心的Serverless资产如何绑定微服务应用(邀测) 2025-04-17 10:59

云安全中心的Serverless资产绑定微服务应用后,云安全中心可对微服务应用进行漏洞扫描、入侵检测和基线检查,极大提升应用安全的同时也优化了成本效益,为SAE应用构筑坚实的安全防线。本文

使用SAE部署Nginx服务 2025-04-17 10:59

Nginx可以用于搭建静态网站,也可以实现反向代理(将客户端的请求转发到其他后端应用)。本文将指引您使用SAE部署Nginx服务。 方案概览 如下图所示,Nginx能够根据客户端请求的路径,返回应用自身包含的静态资源(如HTML页面),或者将请求转发到其他后端应用,并将处理结果返回给客户端。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号