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.
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.

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.