Service Mesh (ASM) memungkinkan Anda menggunakan bidang ASMCompressor untuk mengonfigurasi pengaturan kompresi. Topik ini menjelaskan berbagai bidang yang terdapat dalam ASMCompressor.
Bidang ASMCompressor
Bidang | Tipe | Diperlukan | Deskripsi |
workloadSelector | map<string, string> | Ya | Anda dapat menentukan satu atau lebih label untuk mendefinisikan sekumpulan pod di mana konfigurasi terkait berlaku. Ruang lingkup pencarian label dibatasi pada namespace tempat sumber daya berada. Untuk informasi lebih lanjut, lihat Pemilih Workload. |
isGateway | bool | Tidak | Menentukan apakah akan menerapkan konfigurasi ke gateway. Nilai true menunjukkan bahwa konfigurasi diterapkan ke gateway. Nilai default: false. |
portNumber | int | Ya | Port layanan yang sesuai. Jika konfigurasi diterapkan ke gateway, bidang ini menentukan port layanan dari gateway. |
compressor_library | Tidak | Konfigurasi pustaka kompresi. | |
request_direction_config | Tidak | Konfigurasi dalam arah permintaan. | |
response_direction_config | Tidak | Konfigurasi dalam arah respons. | |
per_route_configs | Tidak | Konfigurasi kompresi pada tingkat rute (didukung sejak ASM V1.21). |
Bidang CompressorLibrary
Bidang | Tipe | Diperlukan | Deskripsi |
gzip | Tidak | Konfigurasi kompresi Gzip. | |
brotli | Tidak | Konfigurasi kompresi Brotli. |
Bidang GzipCompressor
Bidang | Tipe | Diperlukan | Deskripsi | Nilai default |
window_bits | int | Tidak | Ukuran jendela. Nilai valid: 9 hingga 15. Nilai yang lebih besar menunjukkan efek kompresi yang lebih baik tetapi konsumsi memori yang lebih besar. | 12 |
compression_level | string | Tidak | Tingkat kompresi, yang memengaruhi kecepatan dan ukuran kompresi. Nilai valid:
| DEFAULT |
memory_level | int | Tidak | Tingkat memori. Nilai valid: 1 hingga 9. Parameter ini mengontrol penggunaan memori pustaka kompresi. Nilai yang lebih besar mempercepat kompresi dan mengoptimalkan hasil kompresi tetapi meningkatkan konsumsi memori. | 5 |
compression_strategy | string | Tidak | Menentukan kebijakan kompresi zlib, yang secara langsung terkait dengan karakteristik konten yang akan dikompresi. Nilai valid:
| DEFAULT_STRATEGY |
Bidang BrotliCompressor
Bidang | Tipe | Diperlukan | Deskripsi | Nilai default |
window_bits | int | Tidak | Ukuran jendela. Nilai valid: 10 hingga 24. Nilai yang lebih besar menunjukkan efek kompresi yang lebih baik tetapi konsumsi memori yang lebih besar. | 18 |
quality | int | Tidak | Kualitas, yang mengontrol kecepatan kompresi. Nilai valid: 0 hingga 11. Semakin tinggi kualitas kompresi, semakin lambat kecepatan kompresi. | 3 |
Bidang RequestDirectionConfig
Bidang | Tipe | Diperlukan | Deskripsi | Nilai default |
common_config | Tidak | Konfigurasi perilaku filter dalam arah permintaan. | N/A |
Bidang ResponseDirectionConfig
Bidang | Tipe | Diperlukan | Deskripsi | Nilai default |
common_config | Tidak | Konfigurasi perilaku filter dalam arah respons. | N/A | |
disable_on_etag_header | bool | Tidak | Jika nilai bidang ini adalah true, kompresi dinonaktifkan saat respons berisi header etag. | false |
remove_accept_encoding_header | bool | Tidak | Jika nilai bidang ini adalah true, penerimaan encoding dihapus dari header permintaan sebelum dirutekan ke upstream. Dengan cara ini, respons tidak dikompresi sebelum mencapai filter. | false |
Bidang CommonConfig
Bidang | Deskripsi | Nilai default |
min_content_length | Panjang minimum konten untuk mana kompresi diaktifkan. Beberapa percobaan permintaan diperlukan untuk menemukan nilai terbaik untuk konfigurasi yang paling sesuai. Kompresi Gzip menggunakan lebih banyak sumber daya CPU untuk memberikan rasio kompresi yang lebih tinggi dan dapat memperkenalkan lebih banyak latensi. | N/A |
content_type | Jenis konten untuk mana kompresi diaktifkan. | "application/javascript", "application/json", "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml" |
Bidang ASMCompressorPerRouteConfig
Bidang | Tipe | Diperlukan | Deskripsi |
route_match | Ya | Rute di mana konfigurasi berlaku. | |
disabled | bool | Ya | Nilai default: false. Jika nilainya diatur ke true, fitur kompresi dinonaktifkan untuk rute yang ditentukan. |
Bidang RouteConfigurationMatch
Bidang | Tipe | Diperlukan | Deskripsi |
portNumber | uint32 | Tidak | Port layanan atau port server tertentu di Gateway. Jika bidang ini dibiarkan kosong, semua port cocok. |
portName | string | Tidak | Bidang ini berlaku hanya jika kebijakan kompresi diterapkan pada gateway. Anda dapat menyetel nilai bidang ini ke nilai bidang |
gateway | string | Tidak | Nama dan namespace Gateway tertentu dalam format |
vhost | Tidak | Cocokkan host virtual tertentu. | |
name | string | Tidak | Nama konfigurasi rute yang ingin Anda cocokkan. Untuk mengonfigurasi bidang ini, Anda perlu memahami konfigurasi Envoy. |
Bidang CommonVirtualHostMatch
Bidang | Tipe | Diperlukan | Deskripsi |
name | string | Tidak | Nama host virtual yang dihasilkan di control plane. Nilainya dalam format |
route | Tidak | Cocokkan rute tertentu dalam host virtual. |
Bidang CommonRouteMatch
Bidang | Tipe | Diperlukan | Deskripsi |
name | string | Tidak | Objek Route yang dihasilkan secara default diberi nama |
action | string | Tidak | Cocokkan rute dengan tipe aksi tertentu. Nilai valid: ROUTE, REDIRECT, DIRECT_RESPONSE, dan ANY. Nilai default: ANY. |