Gambaran umum
Permintaan pencarian hotel semula membaca database SQL yang juga melayani proses operasional utama. Pertumbuhan volume pencarian menambah tekanan pada jalur baca tersebut.
Tantangan
Pencarian memerlukan jalur baca khusus tanpa query pencarian langsung ke SQL pada setiap request. Data di MongoDB tetap perlu mengikuti perubahan sumber, dengan kemungkinan jeda sinkronisasi.
Pendekatan teknis
Endpoint AWS Lambda membaca data pencarian dari MongoDB. Perubahan dari SQL diteruskan melalui CDC, Debezium, Kafka, dan worker Go sync-to-mongo yang menulis ke read model MongoDB, terpisah dari permintaan pencarian.
Ikuti aliran data
Dua jalur terpisah bergerak di bawah. Pilih teknologi untuk menjeda dan melihat perannya.
Permintaan pencarian
Pengguna
Pengguna mengirim permintaan pencarian hotel.
Pencarian membaca MongoDB, bukan melakukan query ke SQL utama pada setiap permintaan.
Sinkronisasi data
SQL
Data hotel berubah di database SQL sumber.
Alur event memperbarui read model secara terpisah. Jeda sinkronisasi mungkin terjadi.
Arsitektur konseptual · tanpa trafik, waktu, atau data internal produksi
Kontribusi saya
Mengembangkan endpoint pencarian di AWS Lambda dan proses sinkronisasi event Kafka ke MongoDB menggunakan worker Go pada proyek sync-to-mongo sebagai bagian dari tim.
Hasil arsitektur
Permintaan pencarian menggunakan jalur baca khusus dari AWS Lambda ke MongoDB. Perubahan dari sumber memperbarui read model pencarian melalui alur event terpisah, sehingga setiap pencarian tidak perlu melakukan query langsung ke SQL utama. Ini menjelaskan rancangan arsitektur, bukan klaim peningkatan performa terukur.
Sinkronisasi data berbasis event. Perubahan di SQL mungkin memerlukan waktu sebelum terlihat di MongoDB.