canary-header eklentisi, yapılandırılan orandaki isteklere belirtilen üstbilgileri ekler ve rotaları yeniden eşleştirir. Bu sayede, istemcilerin canary üstbilgisi taşımasına gerek kalmadan yüzde bazlı canary sürümleri yapabilirsiniz.
Alanlar
|
|
|
|
|
|
|
|
|
|
|
|
Aşağıdaki tabloda weighted_headers dizisindeki alanlar açıklanmıştır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tüm üstbilgilerin toplam ağırlığı 100'den küçükse, kalan yüzde oranındaki istekler eklenen bir üstbilgi olmadan iletilir.
Yapılandırma örnekleri
Global yapılandırma
Aşağıdaki örnekte, isteklerin %30'una x-higress-canary:gray üstbilgisi, kalan %70'ine ise x-higress-canary:base üstbilgisi eklenir.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
Aşağıdaki örnekte, isteklerin %30'una x-higress-canary:gray üstbilgisi eklenir. Kalan %70'lik kısım eklenen bir üstbilgi olmadan iletilir.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
Belirli rotalar veya alan adları için eklentiyi etkinleştirin
route-a rotası eşleştiğinde, isteklerin %30'una x-higress-canary:gray üstbilgisi, kalan %70'ine x-higress-canary:base üstbilgisi eklenir. Ardından rotalar yeniden eşleştirilir. Örneğin, route-a-gray adlı bir rota x-higress-canary:gray üstbilgisini kullanarak eşleşme yapıyorsa, route-a isteklerinin %30'u route-a-gray rotasıyla eşleşir. Bu sayede yüzde bazlı canary sürümleri uygulayabilirsiniz.
# Use the _rules_ field to configure fine-grained rules.
_rules_:
# Rule 1: Match a route name.
- _match_route_:
- route-a
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
# Rule 2: Match a domain name.
- _match_domain_:
- "*.example.com"
weighted_headers:
- added_key: x-custom-header
added_value: gray
weight: 30
- added_key: x-custom-header
added_value: blue
weight: 30
- added_key: x-custom-header
added_value: base
weight: 40