Saya mengonsumsi dari satu partisi Azure EventHub, menggunakan kelas PartitionReceiver di Jawa. Saya mencoba memahami x-opt-sequence-number SystemProperty yang tersedia di setiap objek EventData yang saya terima.

Apakah dijamin bahwa nomor urut bertambah 1 per EventData yang dikonsumsi dan bahwa setiap nomor urut yang mungkin ada di partisi? Misalnya jika saya telah mengkonsumsi suatu Acara dengan nomor urut 5 dan lainnya dengan 10, berdasarkan ini harus ada acara dengan nomor urut 6-9?

Terima kasih!

0
steve 9 April 2020, 15:20

1 menjawab

Jawaban Terbaik

Konteks yang Dikoreksi

Pemahaman saya salah. Telah dikonfirmasi oleh tim Event Hubs bahwa nomor urut bersebelahan dalam lingkup satu partisi.


Jawaban Asli

Seperti yang saya pahami, nomor urut tidak dijamin berurutan dalam lingkup partisi, meskipun seringkali demikian. Satu-satunya jaminan ketat adalah bahwa mereka akan selalu dalam urutan yang meningkat sehubungan dengan kapan suatu peristiwa diantrekan ke partisi tertentu. Nomor urut khusus untuk suatu partisi dan tidak boleh dibandingkan di seluruh partisi.

Jika Anda perlu memastikan bahwa Anda mengurutkan dengan kenaikan yang ketat dan spesifik, kemungkinan terbaik Anda adalah menambahkan sedikit metadata khusus untuk nomor urut domain aplikasi Anda di kumpulan properti pengguna. Tentu saja, itu menjadi rumit ketika berkoordinasi di antara penerbit di beberapa mesin dan cenderung memunculkan pertukaran kinerja.

0
Jesse Squire 10 April 2020, 13:53