Dokumen tersebut membahas tentang penerapan message queue dalam arsitektur aplikasi web. Message queue digunakan untuk menghindari beban tinggi pada database dan backend server dengan mengantrikan permintaan asynchronous seperti konversi gambar, pengiriman email dan notifikasi. Demo menggunakan Redis sebagai message broker dan Kue untuk memproses tugas secara berurutan seperti melacak clickstream pengguna.
1. Message Queue dengan Node.js
Sharing Session Ilmu Komputer UPI
Bagian 2, Sabtu 24 Februari 2018
Laboratorium Basis Data, Ilmu Komputer, FPMIPA, Universitas
Pendidikan Indonesia
12. Cloud Message Queue
1. Amazon Web Service Simple Queue Service
2. Amazon Web Service Kinesis Firehose
3. Amazon Web Service Kinesis Stream
4. Azure Service Bus
5. Google Message Queue Service
6. Etc.
15. Sistem Tracking Device di AWS
1. Mengirim data log dari smartphone berupa keberadaan
device tersebut yang terdiri dari data lattude dan
longitude secara intensive
2. Langsung terintegrasi ke AWS S3 karena menyimpan data
log di database bukan ide yang baik dan sangat mahal
3. Autoparttoning dimana data akan disimpan berdasarkan
folder yyyy/mm/dd/hh. Kita tdak perlu membuat sistem
tersebut secara mandiri
4. High througput karena request tdak akan memakan
waktu lama dan data langsung diantrikan ke AWS Kinesis
Firehose.
17. Implementasi Message Queue di Azure
1. Mencegah high load terhadap database ketka akan
menyimpan data clickstream
2. Mengirim notfkasi ke device tertentu tapi melewat
antrian
3. Mengirim email ke user tapi melewat antrian agar
proses request saat registrasi tdak harus terlalu lama
4. Update cached informaton di Redis bila ada
pembaharuan di primary database
5. Konversi foto ke beberapa ukuran (thumbnail)
6. Generate report berupa PDF tdak harus menunggu
sampai selesai, bila report selesai dibuat maka user
mendapatkan notfkasi
19. Aplikasi Music Streaming dan Celery
1. Konversi ukuran fle audio sepert OGG dan MP3 ke
beberapa ukuran yang ditentukan (64 kbps, 128 kbps,
256 kbps, dst)
2. Mengambil metadata fle audio
3. Mengirim indexing data lagu ke Elastcsearch untuk
pencarian
4. Mengirim data lagu ke Redis untuk caching
5. Mengirim informasi untuk hasil konversi sebagai
notfkasi ke Websocket Server
6. Mengirim email untuk user yang berhasil registrasi
7. Konversi foto ke beberapa ukuran (thumbnail)
8. Melath machine learning dengan dataset yang terus
diperbaharui setap ada informasi baru yang masuk ke
primary database.