Berurutan, Sekali Saja, Cepat
(engineering.ab180.co)- 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
Consumerper 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.
Consumerberikutnya tidak dapat melampaui posisi pemrosesanConsumersebelumnya, dan diberi jarak aman berdasarkan offset atau event time.- Pesan yang tidak diproses
Consumersebelumnya diteruskan keConsumerberikutnya untuk digunakan kembali, dan jika buffer penuh sistem beralih ke Polling Mode yang membaca Kafka secara langsung.
- Micro-batch dihapus, dan
- Secara internal, ada
ConsumerSuite/PartitionedConsumerChainper partition, danLimitedEventProcessormengendalikan agar tidak melewati checkpointConsumersebelumnya.CommitManagermengelola 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.