全部产品
Search
文档中心

Realtime Compute for Apache Flink:Penyetelan Performa untuk Penyebaran State Besar

更新时间:Jul 02, 2025

Manajemen state adalah isu kompleks dan kritis yang memengaruhi performa, stabilitas, serta pemanfaatan sumber daya di Apache Flink. Topik ini menjelaskan prinsip dan strategi manajemen state, serta cara menggunakan fitur-fitur Realtime Compute for Apache Flink untuk mengoptimalkan performa dan stabilitas penyebaran state besar.

Apa itu State

Apache Flink adalah kerangka kerja open source untuk pemrosesan dan analisis real-time aliran data. Konsep inti dari Apache Flink adalah State, yaitu informasi yang dipertahankan di seluruh beberapa peristiwa. Mirip dengan peran memori dalam komputer, State memungkinkan operator melacak data historis saat memproses aliran tak terbatas. State dapat disimpan sebagai pasangan key-value atau tipe data yang lebih kompleks, seperti daftar, array, dan objek kustom. Akses dan pembaruan data state sangat penting untuk pemrosesan aliran yang kompleks.

Manajemen state adalah fitur penting dari konsol pengembangan Realtime Compute for Apache Flink. Fitur ini memungkinkan sistem secara otomatis mengelola checkpoint suatu penyebaran dan meminimalkan ruang penyimpanan yang diperlukan tanpa memengaruhi ketersediaannya. Fitur ini juga memungkinkan Anda mengelola savepoint secara efisien dan berbaginya antara penyebaran, memberikan nilai praktis yang besar untuk pengujian A/B dan failover aktif/standby pada penyebaran state besar.

Masalah yang disebabkan oleh ukuran state besar

Memelihara penyebaran state besar adalah tantangan. Seiring bertambahnya ukuran state dari waktu ke waktu, beberapa masalah performa muncul.

  • Tekanan Balik dan Penurunan Performa

    Tekanan balik terjadi ketika overhead I/O mencapai tingkat tertentu, meningkatkan latensi pemrosesan dan menurunkan throughput yang diukur dalam transaksi per detik (TPS).

  • Pemanfaatan Sumber Daya Rendah

    Dalam banyak kasus, operator stateful memiliki sejumlah besar sumber daya CPU yang tidak digunakan. Semakin besar ukuran state, semakin signifikan pemborosan sumber daya tersebut.

  • Timeout Checkpoint dan Savepoint

    Ketika ukuran state besar, checkpoint dan savepoint lebih rentan mengalami timeout. Hal ini meningkatkan waktu yang diperlukan untuk melanjutkan data setelah penyebaran di-restart dan latensi pemrosesan end-to-end exactly-once.

  • Startup dan Penskalaan Lambat

    Saat memulai atau menskalakan penyebaran, setiap operator perlu memulihkan data lokalnya berdasarkan data state dari seluruh penyebaran. Waktu yang dibutuhkan untuk proses ini sebanding dengan ukuran state, sehingga meningkatkan waktu gangguan layanan penyebaran state besar.

Alur kerja penyetelan penyebaran state besar

Untuk mencegah masalah-masalah di atas, ikuti langkah-langkah berikut untuk mengoptimalkan manajemen state pada penyebaran state besar:

  1. Identifikasi Kemacetan Potensial

    Gunakan alat diagnostik untuk memahami status operasi saat ini dari suatu penyebaran dan tentukan apakah hambatan performa disebabkan oleh manajemen state yang tidak tepat. Untuk informasi tentang cara menggunakan alat diagnostik, lihat Monitor Performa Penyebaran.

  2. Gunakan Versi Mesin Terbaru

    Realtime Compute for Apache Flink terus mengoptimalkan modul state dari mesin Ververica Runtime (VVR). Dalam banyak kasus, versi mesin terbaru memberikan performa optimal. VVR adalah mesin kelas enterprise yang sepenuhnya kompatibel dengan Apache Flink. VVR juga dilengkapi dengan GeminiStateBackend untuk secara signifikan memfasilitasi akses state, checkpoint, dan pemulihan state. GeminiStateBackend secara otomatis menyesuaikan konfigurasi parameter untuk memastikan performa optimal, menghilangkan kebutuhan akan konfigurasi manual. Sebelum melakukan optimasi lainnya, pastikan Anda menggunakan versi VVR terbaru. Untuk informasi lebih lanjut, lihat GeminiStateBackend, Konfigurasi GeminiStateBackend, dan Tingkatkan Versi Mesin Penyebaran.

  3. Terapkan Strategi Penyetelan yang Berbeda untuk Masalah yang Berbeda