Plugin canary-header menambahkan header tertentu ke permintaan berdasarkan persentase yang ditentukan. Setelah header ditambahkan, rute akan dicocokkan ulang. Anda dapat menggunakan gateway cloud-native dengan plugin ini untuk mengimplementasikan rute berbasis persentase dalam rilis canary tanpa memerlukan permintaan klien membawa header canary.
Bidang
Item konfigurasi | Tipe data | Diperlukan | Nilai default | Deskripsi |
| array of object | Ya | - | Header yang akan ditambahkan ke permintaan dan bobot dalam header tersebut. |
Tabel berikut menjelaskan item konfigurasi dalam bidang weighted_headers.
Item konfigurasi | Tipe data | Diperlukan | Nilai default | Deskripsi |
| string | Ya | - | Kunci dari header yang ingin Anda tambahkan ke permintaan. |
| string | Ya | - | Nilai dari header yang ingin Anda tambahkan ke permintaan. |
| number | Ya | - | Bobot dari header yang ingin Anda tambahkan ke permintaan. Satuan: %. Jumlah total bobot semua header tidak boleh lebih dari 100. |
Jika total bobot semua header kurang dari 100, selisihnya menunjukkan persentase permintaan yang tidak memiliki header tambahan.
Contoh konfigurasi
Konfigurasi global
Kode contoh berikut menunjukkan bahwa header x-higress-canary:gray ditambahkan ke 30% permintaan, dan header x-higress-canary:base ditambahkan ke 70% permintaan.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70Kode contoh berikut menunjukkan bahwa header x-higress-canary:gray ditambahkan ke 30% permintaan, dan tidak ada header yang ditambahkan ke 70% permintaan.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30Aktifkan plugin untuk rute atau nama domain tertentu
Jika rute route-a cocok, header x-higress-canary:gray ditambahkan ke 30% permintaan, dan header x-higress-canary:base ditambahkan ke 70% permintaan. Setelah header ditambahkan, permintaan akan mencocokkan ulang rute. Sebagai contoh, jika permintaan dari rute bernama route-a-gray dapat diarahkan oleh header x-higress-canary:gray, maka 30% permintaan dari rute route-a cocok dengan rute route-a-gray. Dengan cara ini, rilis canary berbasis persentase dapat diimplementasikan.
# Gunakan bidang _rules_ untuk mengonfigurasi aturan yang lebih rinci.
_rules_:
# Aturan 1: Cocokkan nama rute.
- _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
# Aturan 2: Cocokkan nama domain.
- _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