Momento memigrasikan Object Caching sebagai Layanan ke Ampere Altra — beragampengetahuan – Beragampengetahuan
Contents
Foto
mengatur
Infrastruktur cache Momento untuk aplikasi cloud rumit dan memakan waktu. Solusi caching tradisional memerlukan upaya yang signifikan dalam replikasi, manajemen failover, pencadangan, pemulihan, dan manajemen siklus hidup peningkatan dan penerapan. Beban operasional ini mengalihkan sumber daya dari aktivitas bisnis inti dan pengembangan fitur.
larutan
Momento memberikan solusi caching tanpa server yang memanfaatkan instance Google Tau T2A berbasis Ampere untuk mengotomatiskan pengelolaan dan pengoptimalan sumber daya, memungkinkan pengembang untuk mengintegrasikan caching yang cepat dan andal tanpa mengkhawatirkan infrastruktur yang mendasarinya. Caching tanpa server Momento didasarkan pada proyek sumber terbuka Apache Pelikan, menghilangkan kebutuhan konfigurasi manual dan tugas operasi serta menyediakan API yang andal untuk hasil yang mulus.
Fitur utama
- Arsitektur tanpa server: Tidak ada server untuk dikelola, dikonfigurasi, atau dipelihara.
- Konfigurasi nol: Optimalkan infrastruktur secara terus-menerus tanpa intervensi manual.
- Kinerja tinggi: Mempertahankan target tingkat layanan waktu pulang-pergi 2 milidetik untuk permintaan cache P99.9, memastikan latensi ekor rendah.
- Skalabilitas: Gunakan node penyimpanan multi-utas dan penyematan inti untuk menangani beban tinggi secara efisien.
- Layanan Tambahan: Rangkaian produk yang diperluas mencakup bus pesan terbitkan-berlangganan.
inovasi teknologi
Pengoptimalan peralihan konteks: Mengurangi overhead kinerja dengan menyematkan thread ke inti tertentu dan mendedikasikan inti ke I/O jaringan, sehingga mencapai lebih dari satu juta operasi per detik pada instans 16 inti.
Pengaruh
Layanan caching tanpa server Momento, yang didukung oleh Google Tau T2A berbasis Ampere, mempercepat pengalaman pengembang, mengurangi beban operasional, dan menciptakan sistem berkinerja tinggi dan hemat biaya untuk aplikasi cloud modern.
Latar Belakang: Siapa dan apa itu Momento?
Momento adalah gagasan dari salah satu pendiri Khawaja Shams dan Daniela Miao. Mereka mendirikan Momento pada akhir tahun 2021 setelah bekerja bersama di AWS selama beberapa tahun sebagai bagian dari tim DynamoDB. Prinsip penggerak perusahaan adalah infrastruktur aplikasi yang umum digunakan harus lebih mudah dibandingkan saat ini.
Karena pengalaman mereka yang luas dengan caching objek AWS, tim Momento memutuskan untuk menyediakan caching untuk produk awal mereka. Mereka telah memperluas rangkaian produknya dengan menyertakan layanan seperti bus pesan terbitkan-berlangganan. Caching tanpa server Momento didasarkan pada proyek sumber terbuka Apache Pelikan dan memungkinkan pelanggan mengotomatiskan pengelolaan sumber daya dan pekerjaan pengoptimalan yang diperlukan untuk menjalankan sendiri caching nilai kunci.
Semua aplikasi cloud menggunakan caching dalam beberapa bentuk. Cache adalah penyimpanan latensi rendah dari objek yang sering diminta, sehingga mengurangi waktu layanan untuk layanan yang paling sering Anda gunakan. Misalnya, untuk situs web, halaman beranda, gambar atau file CSS yang merupakan bagian dari halaman web populer, atau item paling populer di toko web, mungkin disimpan dalam cache untuk memastikan waktu muat lebih cepat ketika orang memintanya.
Pengoperasian cache melibatkan hal-hal seperti mengelola replikasi, failover jika terjadi kegagalan node utama, pencadangan dan pemulihan setelah pemadaman, serta mengelola siklus hidup peningkatan dan penerapan. Semua hal ini membutuhkan usaha, membutuhkan pengetahuan dan pengalaman, serta menyita waktu dari apa yang ingin Anda lakukan.
Sebagai sebuah perusahaan, Momento percaya bahwa mereka bertanggung jawab untuk membebaskan pelanggan dari pekerjaan ini dan menyediakan API yang andal dan dapat dipercaya untuk Anda gunakan dalam aplikasi Anda sehingga Anda dapat fokus pada penyediaan fungsionalitas yang menghasilkan nilai bisnis. Dari sudut pandang tim Momento, “konfigurasi” tidak boleh menjadi kata dalam kosa kata pengguna cache – tujuan akhirnya adalah menyediakan cache yang cepat dan andal bila diperlukan, dan menyelesaikan semua masalah manajemen untuk Anda.
Penerapan: Porting yang mudah ke prosesor Ampere
Momento awalnya memutuskan untuk menerapkan solusi caching tanpa server pada instance Google T2A yang didukung Ampere karena keunggulan harga/kinerja dan pertimbangan efisiensi.
Mesin virtual Tau T2A berbasis Ampere dirancang dari awal untuk menghadirkan kinerja tinggi dan skalabilitas linier yang dapat diprediksi, memungkinkan aplikasi perluasan skala diterapkan dengan cepat dan berkinerja lebih dari 30% lebih baik dibandingkan mesin virtual x86 yang ada.
Namun, dalam sebuah wawancara baru-baru ini, salah satu pendiri dan CTO Momento Daniela Miao juga menunjukkan fleksibilitas yang muncul dengan mengadopsi Ampere, karena ini bukanlah proposisi semua atau tidak sama sekali: “Ini bukan pintu satu arah. Pintu […] Anda dapat menjalankannya dalam mode campuran, dan jika Anda ingin memastikan aplikasi Anda portabel dan fleksibel, Anda dapat menjalankannya [your application] di Arm64, beberapa di x86”
Selain itu, migrasi ke CPU Ampere berjalan jauh lebih lancar dari perkiraan tim.
“Portabilitas mesin Tau T2A berbasis Ampere benar-benar luar biasa – kami tidak perlu melakukan banyak hal agar dapat berfungsi”
Saksikan wawancara video selengkapnya untuk mempelajari lebih lanjut dari Daniela saat dia mendiskusikan bisnis Momento, apa yang menjadi perhatian pelanggan, bagaimana bekerja dengan Ampere membantu mereka memberikan nilai nyata kepada pelanggan, dan beberapa perubahan pengoptimalan dan konfigurasi yang mereka lakukan untuk Squeeze Performa Maksimal Ampere contoh.
Hasil: Bagaimana Ampere membantu Momento menghadirkan produk yang lebih baik
Momento sangat memperhatikan latensi ekor – metrik utamanya adalah waktu respons P99,9 – yang berarti 99,9% panggilan cache dikembalikan ke klien dalam waktu ini. Sasarannya adalah mempertahankan sasaran tingkat layanan sebesar 2 milidetik waktu pulang-pergi untuk permintaan cache P99.9.
Mengapa begitu peduli dengan latensi ekor? Dengan hal-hal seperti caching, memuat halaman web dapat menghasilkan ratusan permintaan API di latar belakang, yang pada gilirannya dapat menghasilkan ratusan permintaan cache – jika waktu respons P99 menurun, hal ini pada akhirnya dapat mempengaruhi hampir semua pengguna. Oleh karena itu, P99.9 adalah ukuran yang lebih akurat mengenai rata-rata pengalaman pengguna dengan layanan tersebut.
“Kami mengikuti Marc Brooker dengan setia di Momento, dan dia memiliki postingan blog bagus yang secara visual menunjukkan dampak latensi ekor pada pengguna,” kata CTO Daniela Miao. “Bagi banyak aplikasi dan bisnis yang sangat sukses, mungkin 1% permintaan berdampak pada hampir setiap pengguna. […] Apa yang benar-benar kami fokuskan adalah menyediakan latensi P tiga sembilan (P99.9) kepada pelanggan. “
Pengoptimalan peralihan konteks
Sebagai bagian dari proses pengoptimalan, Momento menemukan overhead kinerja yang disebabkan oleh peralihan konteks pada inti tertentu. Peralihan konteks terjadi ketika prosesor berhenti melakukan satu tugas untuk melakukan tugas lain, yang dapat disebabkan oleh:
- Interupsi sistem: Kernel menginterupsi aplikasi pengguna untuk menangani tugas-tugas seperti lalu lintas jaringan.
- Pertentangan prosesor: Di bawah beban tinggi, proses bersaing untuk waktu komputasi yang terbatas, sehingga sesekali terjadi “pertukaran” tugas.
Saat Momento mendalami topik ini, mereka menjelaskan bahwa peralihan konteks membutuhkan biaya yang besar karena prosesor kehilangan produktivitas saat menyimpan status satu tugas dan memuat status tugas lainnya. Hal ini seperti hilangnya produktivitas yang dialami manusia ketika pengerjaan suatu proyek terganggu oleh panggilan telepon atau rapat. Dibutuhkan waktu untuk berpindah tugas, dan kemudian lebih banyak waktu untuk kembali fokus dan menjadi produktif lagi.
Dengan meminimalkan peralihan konteks, Momento meningkatkan efisiensi prosesor dan kinerja sistem secara keseluruhan.
Mulailah dengan Momento
Momento berfokus pada kinerja, terutama latensi ekor, dan secara manual mengelola semua SDK klien di GitHub untuk mencegah masalah ketidakcocokan versi.
- Pendaftaran: Kunjungi situs web Momento untuk mendaftar.
- Pilih SDK: Pilih SDK pilihan Anda untuk bahasa pemrograman pilihan Anda.
- Buat Cache: Buat cache baru menggunakan antarmuka konsol sederhana.
- Simpan/ambil data: Gunakan fungsi set dan dapatkan di SDK untuk menyimpan dan mengambil objek dari cache.
Arsitektur Momento
Arsitektur Momento memisahkan fungsionalitas gateway API dari thread data pada node penyimpanan. Gateway API merutekan permintaan ke node penyimpanan optimal, dan setiap node penyimpanan memiliki beberapa thread pekerja untuk menangani operasi cache.
- Skalabilitas: Pada VM 16-core T2A-standard-16, dua instance Pelikan masing-masing menjalankan 6 thread.
- penyematan inti: Thread disematkan ke inti tertentu untuk mencegah gangguan aplikasi lain saat beban meningkat.
- Pengoptimalan I/O jaringan: Empat antrian RX/TX (terima/kirim) disematkan ke inti khusus untuk menghindari peralihan konteks yang disebabkan oleh interupsi inti. Meskipun lebih banyak inti dapat digunakan untuk menangani I/O jaringan, mereka menemukan bahwa dengan empat pasangan antrean, mereka mampu menggerakkan cache Momento pada beban 95% tanpa throughput jaringan menjadi hambatan.
Sumber daya lainnya
Pelajari lebih lanjut tentang pengalaman Momento dengan instans Tau T2A
Didukung oleh CPU Ampere, periksa “Turbocharging Pelikan Cache aktif
VM T2A berbasis Arm terbaru dari Google Cloud”.
Untuk menemukan informasi lebih lanjut tentang mengoptimalkan kode pada CPU Ampere,
Lihat panduan penyetelan kami di Pusat Pengembang Ampere. kamu bisa
Daftar juga untuk mendapatkan pembaruan dan tautan ke konten hebat lainnya
ke buletin pengembang bulanan kami.
Terakhir, jika Anda memiliki pertanyaan atau komentar mengenai studi kasus ini,
Seluruh komunitas pengguna dan penggemar Ampere siap menjawab pertanyaan
Komunitas pengembang Ampere. Pastikan untuk berlangganan kami
Saluran YouTube yang akan menyediakan lebih banyak konten yang berfokus pada pengembang di masa depan.
lihat:
rencana pengembangan website
metode pengembangan website
jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website
#Momento #memigrasikan #Object #Caching #sebagai #Layanan #Ampere #Altra #beragampengetahuan