1 poin oleh hueypark 3 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Airbridge mencocokkan event seperti klik iklan, instalasi, dan pembelian secara real-time, sehingga yang penting bukan hanya memproses event dengan cepat, tetapi juga memprosesnya dalam urutan yang diperlukan serta mencegah kehilangan dan duplikasi.
  • Sebelumnya, pesan Kafka diambil dalam micro-batch lalu diproses secara berurutan berdasarkan jenis event.
    • Urutannya mudah dikendalikan, tetapi selama menunggu pemrosesan event sebelumnya, worker lain menjadi idle.
    • Jika perbedaan kecepatan pemrosesan antar worker dan hot partition terjadi bersamaan, kecepatan pemrosesan akan stagnan meski server ditambah.
  • Untuk mengatasinya, mereka merancang Project Differential.
    • Micro-batch dihapus, dan Consumer per jenis event membaca Kafka topic yang sama secara independen.
    • Jaminan urutan dilakukan per partition, bukan untuk seluruh topic, dan event dalam alur pengguna yang sama yang membutuhkan urutan diatur agar sebisa mungkin masuk ke partition yang sama.
    • Consumer berikutnya tidak dapat melampaui posisi pemrosesan Consumer sebelumnya, dan diberi jarak aman berdasarkan offset atau event time.
    • Pesan yang tidak diproses Consumer sebelumnya diteruskan ke Consumer berikutnya untuk digunakan kembali, dan jika buffer penuh sistem beralih ke Polling Mode yang membaca Kafka secara langsung.
  • Secara internal, ada ConsumerSuite/PartitionedConsumerChain per partition, dan LimitedEventProcessor mengendalikan agar tidak melewati checkpoint Consumer sebelumnya.
    • CommitManager mengelola agar hanya continuous offset yang benar-benar selesai yang di-commit ke Kafka, bahkan di tengah buffering dan pemrosesan asinkron.
  • Dalam operasi uji, dipastikan sistem berjalan tanpa kehilangan atau duplikasi event, dan dibandingkan metode micro-batch sebelumnya, kecepatan pemrosesan meningkat lebih dari 10 kali lipat.
  • Ini adalah contoh yang mengamankan throughput dengan menjaga urutan yang benar-benar dibutuhkan bisnis secara best effort, alih-alih membuat urutan global yang sepenuhnya ketat.
  • Ke depan, mereka sedang meninjau penyederhanaan struktur, adaptive flow control untuk menghadapi penghentian Spot Instance, serta perbaikan arsitektur untuk mengurangi kebutuhan pemrosesan berurutan itu sendiri.

Belum ada komentar.

Belum ada komentar.