SlideShare a Scribd company logo
3
Most read
4
Most read
5
Most read
NATS vs HTTP
Inter service communication
Agenda
● Traditional HTTP Architecture
● NATS Microservice Architecture
● Benchmark setup
● Benchmark results
● Migration Considerations
Traditional HTTP Architecture
● Drawbacks:
○ Load Balancing
○ Service Discovery
○ Each service must have a
dedicated WebServer
● Doesn't fit the
microservice model
NATS Microservice Architecture
● Fits the new
Microservice
patterns
● NATS is
○ Lightweight
○ Flexible
○ Highly Performant
● It becomes easier to
create microservices
○ Load Balancing
○ Service Discovery
Benchmark setup
● Running with Docker
● One Client
● One Proxy
● One Service
● Source code
○ https://github.com/diogogmt/nats-rest-benchmark
Benchmark Results
● Each request is
executed serially
● Client times how long
it takes to execute
all requests
Benchmark Results
● Client executes
requests concurrently
with a factor of 20%
Considerations
● Different NATS strategies
○ Pub/Sub
○ Request/Reply
○ Queuing
● Keep in mind
○ Concurrency
○ Session Management
○ Metadata
○ Message status
○ NATS-Proxy framework
■ Author: Radomír Sohlich
■ https://github.com/sohlich/nats-proxy
Questions?
diogogmt.com
@diogogmt

More Related Content

PDF
NATS Connect Live!
NATS
 
PDF
The Zen of High Performance Messaging with NATS
NATS
 
PDF
Designing microservices platforms with nats
Chanaka Fernando
 
PDF
RethinkConn 2022!
NATS
 
PDF
Getting started with MQTT - Virtual IoT Meetup presentation
Christian Götz
 
PDF
Easy, Secure, and Fast: Using NATS.io for Streams and Services
NATS
 
PDF
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
NATS
 
PPTX
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
NATS
 
NATS Connect Live!
NATS
 
The Zen of High Performance Messaging with NATS
NATS
 
Designing microservices platforms with nats
Chanaka Fernando
 
RethinkConn 2022!
NATS
 
Getting started with MQTT - Virtual IoT Meetup presentation
Christian Götz
 
Easy, Secure, and Fast: Using NATS.io for Streams and Services
NATS
 
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
NATS
 
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
NATS
 

What's hot (20)

PPTX
NATS for Modern Messaging and Microservices
Apcera
 
PDF
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
NATS
 
PDF
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
NATS
 
PPTX
MySQL Monitoring using Prometheus & Grafana
YoungHeon (Roy) Kim
 
PDF
How to Manage Scale-Out Environments with MariaDB MaxScale
MariaDB plc
 
PDF
A New Way of Thinking | NATS 2.0 & Connectivity
NATS
 
PDF
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Vietnam Open Infrastructure User Group
 
PDF
Introducing the Apache Flink Kubernetes Operator
Flink Forward
 
PDF
VictoriaLogs: Open Source Log Management System - Preview
VictoriaMetrics
 
PDF
Redis cluster
iammutex
 
PDF
Building an Observability platform with ClickHouse
Altinity Ltd
 
PDF
Building Microservices with gRPC and NATS
Shiju Varghese
 
PPTX
Prometheus design and philosophy
Docker, Inc.
 
PPTX
Kuberenetes - From Zero to Hero
Ori Stoliar
 
PDF
Building zero data loss pipelines with apache kafka
Avinash Ramineni
 
PPTX
Proxmox Clustering with CEPH
FahadIbrar5
 
PPTX
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
Rebekah Rodriguez
 
PDF
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Flink Forward
 
PDF
Handle Large Messages In Apache Kafka
Jiangjie Qin
 
PDF
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Vietnam Open Infrastructure User Group
 
NATS for Modern Messaging and Microservices
Apcera
 
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
NATS
 
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
NATS
 
MySQL Monitoring using Prometheus & Grafana
YoungHeon (Roy) Kim
 
How to Manage Scale-Out Environments with MariaDB MaxScale
MariaDB plc
 
A New Way of Thinking | NATS 2.0 & Connectivity
NATS
 
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Vietnam Open Infrastructure User Group
 
Introducing the Apache Flink Kubernetes Operator
Flink Forward
 
VictoriaLogs: Open Source Log Management System - Preview
VictoriaMetrics
 
Redis cluster
iammutex
 
Building an Observability platform with ClickHouse
Altinity Ltd
 
Building Microservices with gRPC and NATS
Shiju Varghese
 
Prometheus design and philosophy
Docker, Inc.
 
Kuberenetes - From Zero to Hero
Ori Stoliar
 
Building zero data loss pipelines with apache kafka
Avinash Ramineni
 
Proxmox Clustering with CEPH
FahadIbrar5
 
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
Rebekah Rodriguez
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Flink Forward
 
Handle Large Messages In Apache Kafka
Jiangjie Qin
 
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Vietnam Open Infrastructure User Group
 
Ad

Similar to NATS vs HTTP for Interservice Communication (20)

PDF
Implementing Microservices with NATS
NATS
 
PDF
Implementing Microservices with NATS
Apcera
 
PPTX
Introducing the Microservices Reference Architecture Version 1.2
NGINX, Inc.
 
PDF
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Raghavendra Prabhu
 
PDF
MySQL X protocol - Talking to MySQL Directly over the Wire
Simon J Mudd
 
PDF
WebCamp Ukraine 2016: Instant messenger with Python. Back-end development
Viach Kakovskyi
 
PDF
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Nicolas Brousse
 
PDF
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
telestax
 
PDF
Micro Services Intro
Alex Apollonsky
 
PDF
WebCamp 2016: Python. Вячеслав Каковский: Real-time мессенджер на Python. Осо...
WebCamp
 
PDF
Building Microservices with Apache Kafka by Colin McCabe
Data Con LA
 
PDF
Microservices with NGINX pdf
Katherine Bagood
 
PPTX
Kubernetes + netflix oss
Cristiano Altmann
 
PDF
Microservices
NewsCred Dhaka
 
PDF
Building RESTtful services in MEAN
Madhukara Phatak
 
PPTX
Parallel programing in web applications - public.pptx
Guy Bary
 
PDF
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
ManageIQ
 
PDF
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX, Inc.
 
PDF
Using protocol analyzer on mikrotik
Achmad Mardiansyah
 
PDF
Kenzan: Architecting for Microservices
Darren Bathgate
 
Implementing Microservices with NATS
NATS
 
Implementing Microservices with NATS
Apcera
 
Introducing the Microservices Reference Architecture Version 1.2
NGINX, Inc.
 
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Raghavendra Prabhu
 
MySQL X protocol - Talking to MySQL Directly over the Wire
Simon J Mudd
 
WebCamp Ukraine 2016: Instant messenger with Python. Back-end development
Viach Kakovskyi
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Nicolas Brousse
 
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
telestax
 
Micro Services Intro
Alex Apollonsky
 
WebCamp 2016: Python. Вячеслав Каковский: Real-time мессенджер на Python. Осо...
WebCamp
 
Building Microservices with Apache Kafka by Colin McCabe
Data Con LA
 
Microservices with NGINX pdf
Katherine Bagood
 
Kubernetes + netflix oss
Cristiano Altmann
 
Microservices
NewsCred Dhaka
 
Building RESTtful services in MEAN
Madhukara Phatak
 
Parallel programing in web applications - public.pptx
Guy Bary
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
ManageIQ
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX, Inc.
 
Using protocol analyzer on mikrotik
Achmad Mardiansyah
 
Kenzan: Architecting for Microservices
Darren Bathgate
 
Ad

More from NATS (20)

PDF
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS
 
PDF
NATS Connect Live | SwimOS & NATS
NATS
 
PDF
NATS Connect Live | Pub/Sub on the Power Grid
NATS
 
PDF
NATS Connect Live | Distributed Identity & Authorization
NATS
 
PDF
NATS Connect Live | NATS as a Service Mesh
NATS
 
PDF
NATS Connect Live | Resgate
NATS
 
PDF
NATS Connect Live | NATS & Augmented Reality
NATS
 
PDF
KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
NATS
 
PDF
OSCON 2019 | Time to Think Different
NATS
 
PDF
Serverless for the Cloud Native Era with Fission
NATS
 
PDF
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
NATS
 
PDF
Microservices Meetup San Francisco - August 2017 Talk on NATS
NATS
 
PDF
Writing Networking Clients in Go - GopherCon 2017 talk
NATS
 
PDF
Using NATS for Control Flow in Distributed Systems
NATS
 
PDF
Integration Patterns for Microservices Architectures
NATS
 
PDF
Simple Solutions for Complex Problems - Boulder Meetup
NATS
 
PDF
Actor Patterns and NATS - Boulder Meetup
NATS
 
PPTX
NATS for Modern Messaging and Microservices
NATS
 
PDF
How Greta uses NATS to revolutionize data distribution on the Internet
NATS
 
PDF
How Clarifai uses NATS and Kubernetes for Machine Learning
NATS
 
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS
 
NATS Connect Live | SwimOS & NATS
NATS
 
NATS Connect Live | Pub/Sub on the Power Grid
NATS
 
NATS Connect Live | Distributed Identity & Authorization
NATS
 
NATS Connect Live | NATS as a Service Mesh
NATS
 
NATS Connect Live | Resgate
NATS
 
NATS Connect Live | NATS & Augmented Reality
NATS
 
KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
NATS
 
OSCON 2019 | Time to Think Different
NATS
 
Serverless for the Cloud Native Era with Fission
NATS
 
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
NATS
 
Microservices Meetup San Francisco - August 2017 Talk on NATS
NATS
 
Writing Networking Clients in Go - GopherCon 2017 talk
NATS
 
Using NATS for Control Flow in Distributed Systems
NATS
 
Integration Patterns for Microservices Architectures
NATS
 
Simple Solutions for Complex Problems - Boulder Meetup
NATS
 
Actor Patterns and NATS - Boulder Meetup
NATS
 
NATS for Modern Messaging and Microservices
NATS
 
How Greta uses NATS to revolutionize data distribution on the Internet
NATS
 
How Clarifai uses NATS and Kubernetes for Machine Learning
NATS
 

Recently uploaded (20)

PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Presentation about variables and constant.pptx
kr2589474
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 

NATS vs HTTP for Interservice Communication

  • 1. NATS vs HTTP Inter service communication
  • 2. Agenda ● Traditional HTTP Architecture ● NATS Microservice Architecture ● Benchmark setup ● Benchmark results ● Migration Considerations
  • 3. Traditional HTTP Architecture ● Drawbacks: ○ Load Balancing ○ Service Discovery ○ Each service must have a dedicated WebServer ● Doesn't fit the microservice model
  • 4. NATS Microservice Architecture ● Fits the new Microservice patterns ● NATS is ○ Lightweight ○ Flexible ○ Highly Performant ● It becomes easier to create microservices ○ Load Balancing ○ Service Discovery
  • 5. Benchmark setup ● Running with Docker ● One Client ● One Proxy ● One Service ● Source code ○ https://github.com/diogogmt/nats-rest-benchmark
  • 6. Benchmark Results ● Each request is executed serially ● Client times how long it takes to execute all requests
  • 7. Benchmark Results ● Client executes requests concurrently with a factor of 20%
  • 8. Considerations ● Different NATS strategies ○ Pub/Sub ○ Request/Reply ○ Queuing ● Keep in mind ○ Concurrency ○ Session Management ○ Metadata ○ Message status ○ NATS-Proxy framework ■ Author: Radomír Sohlich ■ https://github.com/sohlich/nats-proxy