Top Banner
Using Message Queues (NSQ) with Microservice
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 •

May 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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