Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slide DevCoach
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shabilla
April 11, 2024
40
0
Share
Slide DevCoach
DevCoach 129 : Back-End | Membangun aplikasi modern dengan Message Queue
shabilla
April 11, 2024
More Decks by shabilla
See All by shabilla
Slide DevCoach #151
shabillarestu
0
68
Slide DevCoach
shabillarestu
0
69
Slide DevCoach
shabillarestu
0
41
Slide DevCoach
shabillarestu
0
44
Slide DevCoach
shabillarestu
0
45
Slide DevCoach
shabillarestu
0
32
Slide DevCoach
shabillarestu
0
43
Slide DevCoach
shabillarestu
0
43
Slide DevCoach
shabillarestu
0
44
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
A designer walks into a library…
pauljervisheath
211
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Context Engineering - Making Every Token Count
addyosmani
9
930
Are puppies a ranking factor?
jonoalderson
1
3.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Believing is Seeing
oripsolob
1
140
How GitHub (no longer) Works
holman
316
150k
Transcript
None
None
“Everything fails, all the time”. - Werner Vogels, CTO and
Vice President Amazon. Back-End
Agenda • Mengenal message queue • Mengenal RabbitMQ • Implementasi
message queue pada REST API Back-End
Back-End Message Queue
What is Message Queue? Message queue adalah bentuk komunikasi asynchronous
antar layanan (services) yang biasanya digunakan pada arsitektur microservices. Back-End
Back-End Apa contoh penerapannya di kehidupan sehari-hari?? 🤔
Why Message Queue? • Memisahkan (decoupling). • Keandalan (Reliability). •
Skalabilitas (Scalability). Back-End
Message Queue Use Case • Ecommerce: order process, shipping, invoice,
dll. • Financial services: transaction processing. • Analytics: user log. Back-End
When to Use Message Queue? • Pengguna Sudah Ribuan •
Asynchronous Proses • Microservices Arsitektur • Analytics Back-End
Back-End Message Queue Type
Point-to-point Point-to-point messaging adalah pola distribusi yang digunakan dalam message
queue. Point-to-point messaging memiliki hubungan one-to-one antara pengirim dan penerima pesan (disebut juga sebagai producer dan consumer). Back-End
Publish/subscribe Publish/subscribe adalah pola message queue yang memungkinkan pesan untuk
di-broadcast ke berbagai bagian sistem secara asinkron. Pesan apa pun yang di-publish ke suatu topic akan segera diterima oleh semua yang subscribe ke topik tersebut. Back-End
Message Queue Component Producer Queue Consumer
Back-End Rabbit MQ
RabbitMQ Back-End RabbitMQ adalah salah satu message broker open-source yang
populer digunakan. RabbitMQ dapat mendukung banyak protokol seperti AMQP, STOMP, MQTT, HTTP, dan WebSocket.
Install RabbitMQ Back-End docker pull rabbitmq:management docker run --name rabbitmq
-p 5672:5672 -p 15672:15672 -d rabbitmq:management
Back-End Demo RabbitMQ di REST API https://github.com/arasopraza/Demo-Developer-Coaching-129.git
Menghubungkan RabbitMQ const connection = await amqp.connect(process.env.RABBITMQ_SERVER); const channel =
await connection.createChannel(); await channel.assertQueue(queue, { durable: true, }); await channel.sendToQueue(queue, Buffer.from(message));
Menghubungkan Consumer ke RabbitMQ const connection = await amqp.connect(process.env.RABBITMQ_SERVER); const
channel = await connection.createChannel(); await channel.assertQueue('order:confirm', { durable: true, }); channel.consume('order:confirm', listener.listen, { noAck: true });
Feedback! Hadiah: • 2 Token Langganan Academy (30 Hari) *untuk
pengisi feedback terpilih! dicoding.id/devcoachfeedback
Thank You arasopraza
[email protected]
arasopraza Back-End arsyopraza