Pada hari pertama QCon San Francisco 2023, Surabhi Dewan, seorang insinyur perangkat lunak senior di Netflix, memberikan presentasi tentang pengelolaan 238 juta (aktif) keanggotaan Netflix. Hadits adalah bagian dariArsitektur yang selalu Anda penasaran“.
Pekerjaan Diwan di Netflix mencakup pekerjaan back-end yang berkaitan dengan rekayasa keanggotaan, yang sangat penting untuk operasi langganan dan streaming Netflix. Timnya memecahkan masalah sistem terdistribusi yang kompleks dalam skala besar dan presisi tinggi di Netflix.
Rekayasa Keanggotaan Netflix bertanggung jawab atas penetapan harga langganan, sumber kebenaran untuk semua keanggotaan, dan pengelolaan siklus hidup keanggotaan.
Selain itu, Arsitektur Keanggotaan mendukung alur langganan, menerapkan paket yang tepat berdasarkan langganan keanggotaan, tindakan akun, dan aktivasi paket, dan juga bertanggung jawab atas arsitektur keanggotaan.
Dalam ceramahnya, Diwan menjelaskan opsi teknis struktur keanggotaan dan cara mencapainya dengan menjelaskan perjalanan berlangganan. Ketika calon anggota mulai membuat pilihan, rencana, dll. – SAI menampilkan apa yang terjadi secara fungsional. Selanjutnya, berdasarkan hal ini, saya telah mendefinisikan jejak teknis dari struktur keanggotaan:
- Arsitektur sistem terdistribusi dioptimalkan untuk RPS baca tinggi (permintaan per detik).
- Lebih dari 12 layanan mikro dengan gPRC (panggilan prosedur jarak jauh) pada lapisan HTTP.
- Java dan Kotlin dalam kode sumber dan Netflix Spring Boot untuk menyatukan semuanya.
- Kafka untuk semua pesan yang disampaikan.
- Spark dan Flink untuk normalisasi offline data besar.
Pilihan teknologi untuk operasi:
- Transaksi ringan dan coba tulis ulang untuk menghindari kerentanan sebagai garis pertahanan pertama untuk sistem online mereka.
- Beberapa pekerjaan rekonsiliasi dijalankan secara berkala di seluruh basis anggota – memeriksa anomali dan melakukan perbaikan otomatis.
- Lebih dari 100 peringatan data untuk mendeteksi ketidakcocokan dan status tidak valid.
- Manusia berdasarkan permintaan melihat setiap rekaman terakhir dan menatanya dengan baik.
Dan terakhir untuk memantau:
- Pencatatan kesalahan yang ekstensif dan pencatatan permintaan/respons di jalur tulis. Kibana dan Elasticsearch mendukung hal ini.
- Pelacakan terdistribusi di sebagian besar layanan mikro mereka untuk membantu mempercepat akar permasalahan.
- Peringatan produksi dihasilkan berdasarkan metrik observasi yang dikeluarkan oleh semua aplikasi, layanan, dan titik akhir.
- Berkolaborasi dengan tim platform di Netflix untuk menerapkan model pembelajaran mesin mutakhir guna mendeteksi anomali dalam metrik waktu proses.
Selanjutnya, Diwan melihat tiga kasus penggunaan sebelumnya yang membantu membentuk arsitektur keanggotaan. Kasus penggunaan pertama adalah Netflix Evolusi teknologi penetapan harga, yang dimulai dengan paket terbatas yang ditawarkan hanya di satu atau dua wilayah geografis, dilengkapi perpustakaan internal yang dapat diunduh dengan mudah hanya dalam beberapa MB dan cepat untuk diedit dan dirilis. Awalnya, perpustakaan ini hanya digunakan oleh satu atau dua aplikasi dalam Netflix, sehingga menyederhanakan proses distribusi.
Namun, seiring ekspansi Netflix secara global pada tahun 2016, sebuah perjalanan yang dimulai pada tahun 2010, perpustakaan keanggotaan diperluas hingga mencakup kualitas layanan, perangkat yang didukung, akses ke unduhan, dan banyak lagi. Akibatnya, semakin banyak aplikasi, baik di dalam maupun di luar ekosistem keanggotaan, telah menjadi bagian integral dari operasi penting dan memerlukan integrasi perpustakaan mutakhir ini, menciptakan rencana baru dan arsitektur harga yang menjadi titik tunggal kebenaran untuk semua anggota dan dapat menangani jutaan pesanan.
Kasus penggunaan kedua terkait dengan Sejarah anggota. Netflix menghadapi tantangan dalam pengelolaan log anggota, terutama berfokus pada kompleksitas penanganan beberapa peristiwa aplikasi, yang tidak selaras dengan log data operasional, kurang persistensi, dan tidak mudah untuk direkonsiliasi di seluruh sistem. Selain itu, terdapat masalah seperti terbatasnya observasi perubahan status data dan perbedaan node serta logika pembuatan peristiwa. Tim Rekayasa Keanggotaan mengusulkan solusi dengan menangkap perubahan langsung dalam sumber data operasional, sehingga mempermudah pelacakan riwayat status keanggotaan – hal ini dicapai dengan Ubah mode pengambilan data (CDC).dan buat log tambahan saja yang berisi semua perubahan langganan untuk meningkatkan visibilitas dan ketertelusuran.
Kasus penggunaan terakhir yang dibahas oleh Biro adalah Ekosistem berlangganan anggota yang terus berkembang. Arsitektur awal didasarkan pada gRPC di tingkat aplikasi, Cassandra Sebagai penyimpanan data RPS (permintaan per detik) dengan tingkat pembacaan tinggi, ini adalah arsitektur layanan mikro yang terdistribusi, berperforma tinggi, dan berskala horizontal – sistem yang toleran terhadap kesalahan yang secara operasional siap melayani jutaan permintaan per detik dengan waktu respons milidetik. Ini berhasil, namun tidak ada kemampuan untuk merekonsiliasi keadaan, memanipulasi kumpulan data dengan cepat untuk membuka potensi kasus penggunaan baru, dan tidak ada jalur penghapusan untuk menjaga volume data tetap terkendali.
Oleh karena itu, arsitektur keanggotaan telah ditingkatkan untuk menangani kemampuan data besar sehingga Anda dapat menelusuri seluruh kumpulan data dengan cepat percikan Fungsi untuk melakukan rekonsiliasi dengan data offline dengan keanggotaan dan seluruh sistem, memicu peringatan auditor data yang komprehensif untuk mendeteksi anomali dan kegagalan penulisan terdistribusi dalam sistem, dan kemampuan untuk menjalankan jalur penghapusan khusus untuk menjaga volume data tetap terkendali.
Diwan mengakhiri pembicaraannya dengan tiga hal penting yang dapat diambil dari kasus penggunaan ini:
- Harga Netflix: Perkuat pilihan teknologi Anda sampai batas tertentu atau bereaksilah sebelum terlambat.
- Sejarah anggota: Beberapa pilihan arsitektur dapat memberikan keuntungan besar hanya dengan bermain. Miliki keberanian untuk berinvestasi dalam taruhan besar.
- Evolusi berlangganan keanggotaan: menjaganya menyimpannya. Anda tidak pernah selesai!
Dan kutipan:
“Pop culture ninja. Social media enthusiast. Typical problem solver. Coffee practitioner. Fall in love. Travel enthusiast.”