Reducing Network Overhead in Microservices: Optimizing HPACK Performance for JWT-based Authentication in gRPC
Mikrohizmetlerde Ağ Bindirmesinin Azaltılması: gRPC Üzerindeki JWT Tabanlı Kimlik Doğrulamada HPACK Performans Optimizasyonu
- Tez No: 1001506
- Danışmanlar: PROF. DR. PROF. DR. PAUL LİBBRECHT GOURDET
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Bilgisayar ağları, Computer networks
- Yıl: 2026
- Dil: İngilizce
- Üniversite: Iu International University Of Applied Sciences
- Enstitü: Yurtdışı Enstitü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: Belirtilmemiş.
Özet
Günümüz bulut-yerel (cloud-native) yazılım mühendisliğinde, monolitik uygulamalardan dağıtık mikrohizmetlere geçiş, ağ taşıma katmanını sistem performansının temel belirleyicilerinden biri haline getirmiştir. gRPC ve temelindeki HTTP/2 protokolü, meta veri ek yükünü en aza indirmek için HPACK sıkıştırmasını kullansa da, bu mekanizma yüksek işlem hacmine sahip kimlik doğrulamalı ortamlarda genellikle etkisiz kalmaktadır. Bu tez, JSON Web Belirteçlerinin (JWT) neden olduğu performans düşüşünü incelemekte ve“başlık kaynaklı tablo çalkantısı (header-induced table churn)”olarak adlandırılan kritik bir kaynak uyuşmazlığını tanımlamaktadır. Bu verimsizlik, yalnızca kimlik bilgilerinin değişkenliğinden kaynaklanmaktan ziyade, temelde bir kapasite uyuşmazlığından ortaya çıkmaktadır: Monolitik JWT'lerin büyük boyutu, yüksek eşzamanlı istek hacimleriyle birleştiğinde HPACK dinamik tablosunun sınırlı bellek kapasitesini aşmaktadır. Bu doygunluk durumu, İlk Giren İlk Çıkar (FIFO) tampon bellek mantığı aracılığıyla indeksleme verilerinin agresif bir şekilde tahliye edilmesine neden olarak sıkıştırma algoritmasını işlevsiz hale getirmekte ve büyük ham verilerin (literal) tekrar tekrar iletilmesini zorunlu kılmaktadır. Bu sorunu çözmek amacıyla, bu araştırmada özgün bir JWT Ayrıştırma Stratejisi (Decomposition Strategy) önerilmekte ve değerlendirilmektedir. Geliştirilen bu yapı, gRPC Kesişicilerinden (Interceptors) yararlanarak, iletim aşamasından önce monolitik token'ı programatik olarak alt bileşenlerine ayırmaktadır. Bu yaklaşım, sıkıştırma verimliliğini iki mekanizma üzerinden artırmaktadır: Base64url kodlamasını ortadan kaldırarak girdi boyutunu küçülten yapısal optimizasyon ve mimari açıdan statik olan başlık (header) kısmını yüksek hacimli veri yükü (payload) ve imzadan izole ederek mevcut indeksleme alanının kullanımını en üst düzeye çıkaran durumlu (stateful) optimizasyon. Çözüm, Google Cloud Mikrohizmetler Demosu kullanılarak çok dilli (polyglot) bir ortamda uygulanmış ve kapsamlı A/B testleriyle değerlendirilmiştir. Dahili gRPC iletişim ağından elde edilen deneysel sonuçlar, ayrıştırma stratejisinin toplam ağ trafiğini %15 oranında azalttığını göstermektedir. Daha da önemlisi bu optimizasyon, ağ tıkanıklığı kaynaklı gecikme sıçramalarını önemli ölçüde hafifletmektedir: Yüksek yük koşulları altında ortalama gRPC gecikmesi %37–54 oranında iyileşirken, P99 kuyruk gecikmesi (tail latency) %23–35 oranında azalmıştır. Ayrıca yapılan mikro-kıyaslamalar (micro-benchmarking), ayrıştırma mantığının getirdiği işlemsel ek yükün istek başına mikrosaniyenin altında bir sürede gerçekleştiğini ve ihmal edilebilir düzeyde olduğunu doğrulamaktadır. Bu bulgular, uygulama katmanında ayrıştırma yaparak meta veri boyutunu ve entropisini düşürmenin, yalnızca taşıma katmanındaki tampon bellek kapasitesine güvenmekten çok daha sağlam (robust) bir optimizasyon stratejisi olduğunu kanıtlamaktadır. Şeffaflığı sağlamak ve gelecekteki araştırmaları kolaylaştırmak adına tüm kaynak kodları, deneysel test ortamı (testbed) yapılandırması ve sonuçları yeniden üretme betikleri şu adreste açık erişime sunulmuştur: https://github.com/ecrent/microservices-demo-jwt-split
Özet (Çeviri)
In contemporary cloud-native software engineering, the shift from monolithic applications to distributed microservices has established the network transport layer as a primary determinant of system performance. While gRPC and its underlying HTTP/2 protocol utilize HPACK compression to minimize metadata overhead, this mechanism is often defeated in high-throughput authenticated environments. This thesis investigates the performance degradation caused by JSON Web Tokens (JWTs), identifying a critical resource conflict termed“header-induced table churn.”Rather than solely stemming from credential volatility, this inefficiency arises fundamentally from a capacity mismatch: the large size of monolithic JWTs, multiplied by high concurrent request volumes, overwhelms the limited memory capacity of the HPACK dynamic table. This saturation forces the aggressive eviction of indexing context via the First-In-First-Out (FIFO) buffer logic, rendering the compression algorithm ineffective and necessitating the repetitive transmission of large literals. To address this, this research proposes and evaluates a novel JWT Decomposition Strategy. By leveraging gRPC Interceptors, the proposed artifact programmatically deconstructs the monolithic token into its constituent components before transmission. This approach leverages the compression through two mechanisms: structural optimization, which reduces input size by eliminating Base64url encoding, and stateful optimization, which isolates the architecturally static header from the high-volume payload and signature, maximizing the utility of the available indexing space. The solution was implemented within a polyglot environment using the Google Cloud Microservices Demo and evaluated through rigorous A/B testing. Empirical results gathered from the internal gRPC communication link demonstrate that the decomposition strategy reduces total network traffic by 15%. Crucially, the optimization significantly mitigates congestion-induced latency spikes: Average gRPC latency improved by 37–54%, while P99 tail latency was reduced by 23–35% under high-load conditions. Furthermore, micro-benchmarking confirms that the computational overhead introduced by the decomposition logic is negligible, operating in the sub-microsecond range per request. These findings validate that reducing metadata size and entropy through application-layer decomposition is a more robust optimization strategy than relying solely on transport-layer buffer capacity. To ensure transparency and facilitate further research, the complete source code, experimental testbed configuration, and reproduction scripts are openly available at: https://github.com/ecrent/microservices-demo-jwt-split
Benzer Tezler
- Şeker şurubunun inversiyonuna etki eden kimi faktörlerin araştırılması
Başlık çevirisi yok
SAİDE GÜNERİ
- Katı yakıtların akışkan yatakta yakılması ve katı miktarının yatak yüksekliğine etkisi
Combustion of solid fuels in the fkuidized beds and the effects of solid quantity to the height of bed
KAMİL BEKİR KOÇ
- Pleurotus ostreatus mantarının bazı kağıtçılık hammaddelerinde yaptığı biyolojik degradasyon
Başlık çevirisi yok
M. KEMAL YALINKILIÇ
Yüksek Lisans
Türkçe
1987
Karadeniz Teknik ÜniversitesiOrman Endüstri Mühendisliği Ana Bilim Dalı
Yükleniyor...
- Yerçekimi dengelenmesinin Helianthus annuus fidelerinde hücre çeperi ekstensibilitesine şeker ve nişasta içeriğine etkisi
Başlık çevirisi yok
MUAMMER ÜNAL