Cloud Native 12 min read

Quickly Deploy Alibaba Cloud MSE Cloud‑Native Gateway for Full‑Link Gray Release

This guide explains how to set up Alibaba Cloud's MSE Cloud‑Native Gateway, replace traditional multi‑layer gateway architectures, and use it with EDAS to achieve full‑link gray deployments through step‑by‑step configuration, service import, routing, and verification.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
Quickly Deploy Alibaba Cloud MSE Cloud‑Native Gateway for Full‑Link Gray Release

Overview of MSE Cloud‑Native Gateway

MSE Cloud‑Native Gateway is Alibaba Cloud's next‑generation gateway solution that fully complies with the Kubernetes Ingress API. It merges traffic, micro‑service, and security gateways into a single layer, reducing resource consumption, performance loss, operational complexity, and stability risks compared with traditional multi‑layer gateway architectures.

Problems with Traditional Multi‑Layer Gateways

In a conventional setup, separate components such as WAF for security, SLB for load balancing, an Ingress gateway for cluster entry, and Zuul for micro‑service routing are deployed. Each layer requires independent capacity planning, becomes a potential bottleneck, and adds operational overhead and availability risk.

Benefits of the Cloud‑Native Approach

By using MSE Cloud‑Native Gateway, only one managed gateway is needed while retaining SLB for load balancing. The single gateway provides cluster entry, WAF, and micro‑service routing capabilities, is fully managed by Alibaba Cloud, offers SLA‑backed availability, and eliminates the need for user‑managed instances.

Quick Start for EDAS Scenarios

The gateway supports multiple service‑discovery mechanisms, including K8s Service, MSE Nacos, MSE Zookeeper, and EDAS registry. In an EDAS environment, services registered in the EDAS registry can be discovered and routed by the gateway.

Step 1 – Create the Cloud‑Native Gateway

Purchase the gateway via the Alibaba Cloud marketplace (URL: https://common-buy.aliyun.com/?commodityCode=mse_ingresspre_public_cn). Ensure the VPC matches the VPC where EDAS services are deployed.

Step 2 – Create Service Sources

In the gateway console, add a service source for each EDAS micro‑service space. Use the default group DEFAULT_GROUP unless a custom group (e.g., dubbo.registry.group or spring.cloud.nacos.discovery.group) is configured.

Step 3 – Import Services

One‑click import pulls all services from the selected EDAS space. After import, the backend instance IPs and health‑check status confirm successful service discovery.

Step 4 – Create Routes

Define matching rules for HTTP path, method, headers, or query parameters. Select the target service and enable label‑based routing. Save and publish the route to make it active immediately.

Using the Gateway as an Entry for Full‑Link Gray Release

Combine EDAS's mature micro‑service governance with the cloud‑native gateway to achieve gray releases without modifying application code. The solution works for Spring Boot, Spring Cloud, and Dubbo versions released in the past five years.

Deploy Example Services (Spring Cloud)

Three services—sc‑A (shopping cart), sc‑B (transaction), and sc‑C (inventory)—are deployed via Docker images:

sc‑A:

msecrinstance-registry.cn-hangzhou.cr.aliyuncs.com/mse-demo/spring-cloud-a:0.1

sc‑B:

msecrinstance-registry.cn-hangzhou.cr.aliyuncs.com/mse-demo/spring-cloud-b:0.1

sc‑C:

msecrinstance-registry.cn-hangzhou.cr.aliyuncs.com/mse-demo/spring-cloud-c:0.1

Baseline and gray versions are distinguished by Nacos metadata:

spring.cloud.nacos.discovery.metadata.version=base   // baseline
spring.cloud.nacos.discovery.metadata.version=gray   // gray

Gray pods also set the annotation alicloud.service.tag: gray for Java Agent detection.

Create Service in the Gateway

Import only sc‑A (the entry service) and configure two versions— base and gray —based on the version metadata.

Create Routes for Baseline and Gray Environments

Two hostnames are created: base.example.com and gray.example.com. Routes forward /a to sc‑A's corresponding version using label routing.

curl -H "Host: base.example.com" http://118.31.XX.XX/a

Result (baseline):

A[10.66.3.133] -> B[10.66.0.113] -> C[10.66.3.132]
curl -H "Host: gray.example.com" http://118.31.XX.XX/a

Result (gray):

Agray[10.66.2.3] -> Bgray[10.66.2.69] -> Cgray[10.66.2.195]

If the entry service itself lacks a gray version, an additional header x-mse-tag: gray can force downstream services into the gray environment:

curl -H "Host: base.example.com" -H "x-mse-tag: gray" http://118.31.XX.XX/a

Result shows the request flowing from baseline A to gray B and C.

Key Diagrams

Traditional multi‑layer gateway architecture
Traditional multi‑layer gateway architecture
MSE Cloud‑Native Gateway architecture
MSE Cloud‑Native Gateway architecture
Service discovery mechanisms
Service discovery mechanisms
VPC requirement
VPC requirement
Create service source
Create service source
Import services
Import services
Define routing rules
Define routing rules
Full‑link gray architecture
Full‑link gray architecture
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

MicroservicesKubernetesgray releasegatewayEDAS
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.