30 puan yazan hiddenest 2023-10-10 | 4 yorum | WhatsApp'ta paylaş

Redis’te çok sayıda verinin sıkıştırılmadan JSON biçiminde saklanması ve Redis servisleri arasında model paylaşılmaması nedeniyle ortaya çıkan maliyetleri azaltmaya yönelik bir mühendislik çalışması

  • Aynı kaynak verinin saklama biçimi değiştirilerek ElastiCache’in bellek kullanımı %52, maliyet ise %66 azaltıldı
  • JSON yerine Protobuf kullanılarak veri şeması açıkça tanımlandı ve aynı zamanda servisler arası veri okuma/yazma yöntemi standartlaştırıldı
  • Brotli ile karşılaştırmada en yüksek sıkıştırma oranını yine Brotli gösterdi. Pencere boyutu ve sıkıştırma seviyesine göre süre ve sıkıştırma oranı karşılaştırılarak en uygun değer bulunup uygulandı
  • Redis anahtarı olarak UUID kullanılırken, bellek kullanımını az da olsa azaltmak için ascii85 kullanılabildi
  • Alan adıyla ilgili teknik borcun, altyapı maliyetlerini düşürme çalışmalarının önünde engel olabileceği fark edilerek bunun açık bir schema ile tasfiye edilmesi sağlandı

4 yorum

 
nina514 2023-10-18

Sunucu özellikleri günden güne yükseldikçe optimizasyon üzerine düşünmektense sadece ürünü hızla geliştirmeye odaklanmıştım; ama uzun zaman sonra tekrar optimizasyon üzerine düşünmemi sağlayan güzel bir içerik olmuş!!

 
cosine20 2023-10-11

Evet, aslında okunabilirlik ve esnek yapılandırma kolaylığı gibi avantajları nedeniyle çoğunlukla JSON kullanılıyor; ancak kapasite açısından protobuf gibi ikili protokoller kullanmak daha elverişli oluyor ve daha da uç noktaya gidilirse, geleneksel PE yapısı ya da TCP protokolü gibi aşırı derecede optimize edilmiş ikili protokoller daha iyi olabiliyor.
Alanla ilgili teknik borç ifadeniz tam yerinde gibi görünüyor.

 
kyc1682 2023-10-10

Harika görünüyor.

 
gilbok 2023-10-10

Patron! Bu kişinin maaşına büyük bir zam yapın!!