using message queues (nsq) with microservice · • a topic is a distinct stream of messages • a...
TRANSCRIPT
![Page 1: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/1.jpg)
Using Message Queues (NSQ) with Microservice
![Page 2: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/2.jpg)
Hell o:)
Hengki Sihombing Co Founder & CTO
![Page 3: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/3.jpg)
Community
https://www.meetup.com/jakartajs/jakartajs-join.herokuapp.com
![Page 4: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/4.jpg)
NSQ at Urbanhire
![Page 5: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/5.jpg)
What is NSQ
![Page 6: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/6.jpg)
A realtime distributed messaging platform
• Open-sourced by Bitly • Written in Go
![Page 7: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/7.jpg)
• a topic is a distinct stream of messages• a topic has one or more channels• topics and channels are createdat
runtime• messages are pushed to consumers
Topics and Channelscombine pubsub, distribution, and queueing
![Page 9: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/9.jpg)
Why We Use NSQ
![Page 10: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/10.jpg)
Why we don't use these Libraries
Amazon SQS
![Page 11: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/11.jpg)
• Simplicity was one of the primary reasons we decided to adopt NSQ in the first place
• We need retry with a delay mechanism• Have an admin dashboard for monitoring
and pausing queues.• They have official library for Node.JS
Some Reason
![Page 12: Using Message Queues (NSQ) with Microservice · • a topic is a distinct stream of messages • a topic has one or more channels • topics and channels are createdat runtime •](https://reader034.vdocuments.us/reader034/viewer/2022042223/5eca4fa13e03014e8747efb2/html5/thumbnails/12.jpg)
Where we used it• Distribute our Job Ads to our Job Portal
Partners• Send email notification for interview
schedule• Sync jobseeker profile to Elasticsearch
every time jobseeker update their profile• Our Aggregator Engine