Cachey Membawa Caching Storan Objek Berprestasi Tinggi dengan Seni Bina Hibrid Memori-Cakera

Pasukan Komuniti BigGo
Cachey Membawa Caching Storan Objek Berprestasi Tinggi dengan Seni Bina Hibrid Memori-Cakera

Cachey telah muncul sebagai penyelesaian caching khusus yang direka untuk mempercepatkan akses kepada sistem storan objek seperti Amazon S3 . Cache read-through ini menggabungkan storan memori dan cakera untuk mencipta sistem hibrid yang bertujuan mengurangkan latensi dan kos bagi aplikasi yang kerap mengakses data yang sama daripada storan awan.

Sistem ini menggunakan pendekatan unik dengan saiz halaman tetap 16 MiB , memetakan sebarang julat bait yang diminta kepada carian yang diselaraskan dengan halaman. Pilihan reka bentuk ini membantu mengoptimumkan kecekapan cache sambil menyokong permintaan julat HTTP standard yang banyak aplikasi bergantung padanya untuk penstriman media dan akses fail besar.

Spesifikasi Teknikal Utama

  • Saiz Halaman: Halaman tetap 16 MiB untuk semua data yang dicache
  • Jenis Cache: Storan hibrid memori + cakera menggunakan perpustakaan foyer
  • Memori Lalai: 4 GiB (boleh dikonfigurasi dengan unit seperti "512MiB", "2GB", "1.5GiB")
  • Penggunaan Cakera: Sehingga 80% daripada ruang yang tersedia (jika tidak dinyatakan)
  • Permintaan Hedged: Ambang latensi persentil ke-99 secara lalai
  • API: HTTP ringkas dengan pengepala Range yang diperlukan
  • Had Baldi: Maksimum 2 baldi dicuba bagi setiap kehilangan halaman
  • Sokongan TLS: Sijil yang ditandatangani sendiri atau pasangan cert/key tersuai

Cabaran Penggunaan Multi-Zon Mencetuskan Perbincangan

Komuniti telah membangkitkan soalan penting mengenai kesesuaian Cachey untuk persekitaran pengeluaran multi-zon yang sangat tersedia. Tidak seperti penggunaan zon ketersediaan tunggal di mana cache boleh memberikan faedah yang jelas, persediaan multi-zon menunjukkan pertukaran kompleks antara koheren cache, kos rangkaian merentas zon, dan prestasi.

Ia adalah cache read through sebelah pengguna, jadi tidak perlu koheren cache pre-emptive seperti itu. Tetapi akan ada penalti prestasi untuk mengambil data di bawah pertandingan penulisan tanpa mengira sama ada anda mempunyai az tunggal/AZ berbilang.

Pembangun mengakui batasan ini dan pada masa ini mengesyorkan penggunaan setiap zon dengan auto-scaling, yang bermakna menerima sama ada peningkatan kos infrastruktur atau perbelanjaan rangkaian merentas zon. Pendekatan ini berfungsi dengan baik untuk data yang tidak boleh diubah tetapi mungkin tidak sesuai untuk semua senario perusahaan.

Kemungkinan Integrasi dan Kes Penggunaan

Ahli komuniti telah mencadangkan peluang integrasi yang menarik, termasuk frontend NBD ( Network Block Device ) yang boleh mengubah objek yang di-cache menjadi peranti Linux atau storan sokongan untuk mesin maya. Ini akan memperluaskan utiliti Cachey melangkaui aplikasi web tradisional ke dalam senario infrastruktur dan virtualisasi.

Cache nampaknya paling bermanfaat untuk beban kerja dengan corak akses berulang, seperti pangkalan data yang dibina pada storan objek atau aplikasi yang menyajikan kandungan yang sama beberapa kali. Walau bagaimanapun, aplikasi yang sudah menggunakan caching dalam memori mungkin perlu menilai sama ada kerumitan tambahan memberikan faedah yang mencukupi berbanding dengan hanya meningkatkan saiz cache sedia ada mereka.

Pilihan Konfigurasi API

Header Diperlukan Penerangan
Range Ya Julat bait dalam format bytes=(pertama)-(terakhir)
CO-Bucket Tidak Bucket yang mengandungi objek (susunan keutamaan)
CO-Config Tidak Gantikan konfigurasi permintaan S3 dengan pasangan yang dipisahkan ruang

Parameter CO-Config:

  • ct=<ms> - Masa tamat sambungan
  • rt=<ms> - Masa tamat bacaan (masa-ke-bait-pertama)
  • ot=<ms> - Masa tamat operasi (merentasi percubaan semula)
  • oat=<ms> - Masa tamat percubaan operasi
  • ma=<num> - Maksimum percubaan
  • ib=<ms> - Tempoh undur awal
  • mb=<ms> - Tempoh undur maksimum

Ciri Pengoptimuman Prestasi

Cachey termasuk beberapa ciri lanjutan untuk mengurus latensi yang tidak dapat diramalkan yang sering dikaitkan dengan storan objek. Sistem membuat permintaan hedged, menghantar permintaan pendua selepas ambang latensi tertentu untuk meningkatkan masa respons. Ia juga boleh mencuba permintaan kepada baldi berlebihan, menyediakan pilihan fallback apabila storan utama menjadi perlahan atau tidak tersedia.

Seni bina hibrid memori-cakera yang dikuasakan oleh perpustakaan caching foyer membenarkan pengurusan kapasiti yang fleksibel. Pengguna boleh mengkonfigurasi kedua-dua had memori dan laluan storan cakera, dengan sistem secara automatik menggunakan sehingga 80% ruang cakera yang tersedia jika tidak dinyatakan sebaliknya.

Walaupun Cachey menunjukkan potensi untuk kes penggunaan khusus yang melibatkan storan blob yang tidak boleh diubah, seni bina semasa berfungsi paling baik dalam penggunaan zon tunggal atau senario di mana kos rangkaian merentas zon boleh diterima. Organisasi yang mempertimbangkan pelaksanaan harus menilai dengan teliti corak akses dan keperluan infrastruktur mereka terhadap pertukaran ini.

Rujukan: Cachey