Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Production scenario: Implement an end-to-end canary release based on a self-hosted Spring Cloud Gateway or Zuul gateway

Son Güncelleme:Oct 06, 2026

Kendi yönettiğiniz Spring Cloud veya Zuul ağ geçitleriyle desteklenen SAE uygulamalarında kademeli sürüm çalıştırırken, belirli trafiği her bir mikroservisin gri sürümüne yönlendirmeniz ve bu yönlendirmenin tüm hizmet zinciri boyunca otomatik olarak yayılmasını sağlamanız gerekir. Bu konuda, herhangi bir iş kodunu değiştirmeden tek bir HTTP istek üstbilgisi kullanarak uçtan uca trafik yönlendirmesinin nasıl yapılandırılacağı gösterilir.

Temel kavramlar

Terim Açıklama
Temel ortam Mikroservislerinizin kararlı üretim sürümü — Uygulama A, B ve C. Tüm trafik varsayılan olarak buraya gider.
Kademeli sürüm ortamı Doğrulama aşamasındaki yeni sürüm — Uygulama A-gray, B-gray ve C-gray. Yalnızca kademeli sürüm üstbilgisini taşıyan istekler bu ortama ulaşır.
Uçtan uca yayılım Giriş ağ geçidi bir isteği gri bir örneğe yönlendirdiğinde, gri etiketi kod değişikliği gerekmeden her bir aşağı akış hizmeti çağrısı boyunca otomatik olarak yayılır — A-gray → B-gray → C-gray.
x-mse-tag Bu senaryoda trafiği kademeli sürüm ortamlarına yönlendirmek için özel olarak kullanılan bir HTTP istek üstbilgisi. Uygulamalar için kademeli sürüm kuralları yapılandırırken bu üstbilgiyi kullanmayın.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Giriş ağ geçidi olarak yapılandırılmış bir Application Load Balancer (ALB) örneği

  • Hizmet kaydı ve keşfi için kullanılabilir bir Nacos hizmet kayıt defteri

  • İndirilmiş mse-simple-demo paketi

SAE demo uygulamalarını dağıtın

Ana uygulama bileşenlerini dağıtın

Uygulama A (alışveriş sepeti), Uygulama B (işlem merkezi) ve Uygulama C'yi (envanter merkezi) SAE'ye dağıtın. Kurulum talimatları için bkz. Uygulamaların Nacos'a hizmet kaydı ve keşfini değiştirme.

Kademeli sürüm uygulamalarını dağıtın

Uygulama A-gray, Uygulama B-gray ve Uygulama C-gray'ı dağıtın. Sistemin bunları temel karşılıklarından ayırt edebilmesi için her bir kademeli sürüm uygulamasının başlatma komutuna -Dalicloud.service.tag=gray parametresini ekleyin.

Dağıtımınız SAE yerleşik olmayan bir hizmet kayıt defteri kullanıyorsa, aşağıdaki başlatma parametrelerini de ekleyin: -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false

Spring Cloud veya Zuul ağ geçidini dağıtın

Aynı alan adından gelen istekleri farklı URL yollarını kullanarak iletin. Yapılandırma ayrıntıları için bkz. CLB örneği kullanarak bir uygulama için ağ geçidi yönlendirmesi yapılandırma.

Trafiği kademeli sürüm ortamına yönlendirin

Bir istemcinin alan adı değiştirilemediğinde, www.base.com alan adını bir rotayla ilişkilendirin ve kademeli sürüm ortamına gitmesi gereken isteklere x-mse-tag:gray üstbilgisini ekleyin. ALB giriş ağ geçidi üstbilgiyi okur ve isteği gri hizmet örneklerine yönlendirir; bu örnekler daha sonra gri etiketi tüm aşağı akış hizmetlerine yayar.

Uyarı

x-mse-tag üstbilgisi yalnızca bu özel senaryoda çalışır. Uygulamalar için kademeli sürüm kuralları yapılandırırken bunu kullanmayın. Daha fazla bilgi için bkz. Java uygulamaları için kademeli sürüm kurallarını yönetme.

Aşağıdaki diyagram, x-mse-tag:gray üstbilgisi eklendikten sonra gelen bir isteğin kademeli sürüm ortamına nasıl yönlendirildiğini gösterir.

End-to-end canary release using self-managed Spring Cloud or Zuul gateways

Kademeli sürümü doğrulayın

Trafiğin doğru şekilde yönlendirildiğini onaylamak için aşağıdaki komutları çalıştırın.

Temel trafiği kontrol edin — x-mse-tag üstbilgisi olmayan istekler üretim ortamına gider:

curl -H "Host:www.base.com" http://106.14.XX.XX/a

Beklenen çıktı:

A[172.18.XX.XX] -> B[172.18.XX.XX] -> C[172.18.XX.XX]

Kademeli sürüm trafiğini kontrol edin — isteği üç gri örnek üzerinden de yönlendirmek için x-mse-tag:gray ekleyin:

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

Beklenen çıktı:

Agray[172.18.XX.XX] -> Bgray[172.18.XX.XX] -> Cgray[172.18.XX.XX]%

Çıktı, Classic Load Balancer (CLB) giriş denetleyicisinin isteği Uygulama A'nın kademeli sürüm ortamına yönlendirdiğini ve gri etiketin Uygulama B-gray ve Uygulama C-gray üzerinden uçtan uca yayıldığını doğrular.

Sonraki adımlar

  • Java uygulamaları için otomatik kademeli sürüm kuralları yapılandırmak üzere bkz. Java uygulamaları için kademeli sürüm kurallarını yönetme.