using message queues (nsq) with microservice · • a topic is a distinct stream of messages • a...

13
Using Message Queues (NSQ) with Microservice

Upload: others

Post on 23-May-2020

1 views

Category:

Documents


0 download

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 •

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 •

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 •

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 •

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 •

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 •

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 •

• 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 8: 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 •

http://nsq.io/overview/design.html

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 •

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 •

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 •

• 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 •

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

Page 13: 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 •

We’re Hiring

email me: [email protected]/urbanhire

Thank You