SlideShare a Scribd company logo
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
OSMC 2022 | VictoriaMetrics: scaling to 100 million metrics per second by Ali...
PDF
Designing microservices platforms with nats
PDF
RethinkConn 2022!
PDF
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
PDF
Implementing Microservices with NATS
PDF
Reddit/Quora Software System Design
PDF
InfluxDB + Telegraf Operator: Easy Kubernetes Monitoring
PDF
NATS vs HTTP for Interservice Communication
OSMC 2022 | VictoriaMetrics: scaling to 100 million metrics per second by Ali...
Designing microservices platforms with nats
RethinkConn 2022!
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
Implementing Microservices with NATS
Reddit/Quora Software System Design
InfluxDB + Telegraf Operator: Easy Kubernetes Monitoring
NATS vs HTTP for Interservice Communication

What's hot (20)

PDF
Software Defined Datacenter with Proxmox
PDF
Fully automated kubernetes deployment and management
PDF
NATS Connect Live!
PPTX
Distributed tracing 101
PDF
NFV & Openstack
ODP
Introduction to Ansible
PDF
Easy, Secure, and Fast: Using NATS.io for Streams and Services
PDF
Kubernetes dealing with storage and persistence
PDF
rtpengine and kamailio - or how to simulate calls at scale
PDF
Cilium - Fast IPv6 Container Networking with BPF and XDP
PDF
The 12 Factor App
PDF
Patroni: Kubernetes-native PostgreSQL companion
PDF
Event-Driven Microservices With NATS Streaming
PDF
Training Webinars - Secret hacks for OutSystems 10
PDF
PDF
Building Microservices with gRPC and NATS
PPTX
Gitlab CI/CD
PPTX
OpenTelemetry For Operators
PDF
Linux Kernel Cryptographic API and Use Cases
PPTX
MeetUp Monitoring with Prometheus and Grafana (September 2018)
Software Defined Datacenter with Proxmox
Fully automated kubernetes deployment and management
NATS Connect Live!
Distributed tracing 101
NFV & Openstack
Introduction to Ansible
Easy, Secure, and Fast: Using NATS.io for Streams and Services
Kubernetes dealing with storage and persistence
rtpengine and kamailio - or how to simulate calls at scale
Cilium - Fast IPv6 Container Networking with BPF and XDP
The 12 Factor App
Patroni: Kubernetes-native PostgreSQL companion
Event-Driven Microservices With NATS Streaming
Training Webinars - Secret hacks for OutSystems 10
Building Microservices with gRPC and NATS
Gitlab CI/CD
OpenTelemetry For Operators
Linux Kernel Cryptographic API and Use Cases
MeetUp Monitoring with Prometheus and Grafana (September 2018)
Ad

Viewers also liked (20)

PDF
The Zen of High Performance Messaging with NATS
PDF
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
PDF
Micro on NATS - Microservices with Messaging
PDF
How Greta uses NATS to revolutionize data distribution on the Internet
PPTX
Patterns for Asynchronous Microservices with NATS
PDF
NATS - A new nervous system for distributed cloud platforms
PDF
NATS: A Central Nervous System for IoT Messaging - Larry McQueary
PPTX
NATS for Modern Messaging and Microservices
PDF
Closing The Loop for Evaluating Big Data Analysis
PDF
Nats in action a real time microservices architecture handled by nats
PDF
Micro, Nano, Mono? Microservices verständlich erklärt
PDF
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
PDF
Metrics driven dev ops 2017
PDF
Protocol buffers and Microservices
PDF
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
PPTX
The Current Messaging Landscape: RabbitMQ, ZeroMQ, nsq, Kafka
PDF
JUG - Soup to Nuts with Self Contained Systems
PPTX
Airflow - a data flow engine
PDF
Melda Polat Dinamikler 2016
PPTX
Merve Taşkan Dinamikler 2016
The Zen of High Performance Messaging with NATS
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Micro on NATS - Microservices with Messaging
How Greta uses NATS to revolutionize data distribution on the Internet
Patterns for Asynchronous Microservices with NATS
NATS - A new nervous system for distributed cloud platforms
NATS: A Central Nervous System for IoT Messaging - Larry McQueary
NATS for Modern Messaging and Microservices
Closing The Loop for Evaluating Big Data Analysis
Nats in action a real time microservices architecture handled by nats
Micro, Nano, Mono? Microservices verständlich erklärt
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Metrics driven dev ops 2017
Protocol buffers and Microservices
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
The Current Messaging Landscape: RabbitMQ, ZeroMQ, nsq, Kafka
JUG - Soup to Nuts with Self Contained Systems
Airflow - a data flow engine
Melda Polat Dinamikler 2016
Merve Taşkan Dinamikler 2016
Ad

Similar to NATS vs HTTP (20)

PDF
Implementing Microservices with NATS
PPTX
Introducing the Microservices Reference Architecture Version 1.2
PDF
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
PDF
MySQL X protocol - Talking to MySQL Directly over the Wire
PDF
WebCamp Ukraine 2016: Instant messenger with Python. Back-end development
PDF
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
PDF
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
PDF
Micro Services Intro
PDF
WebCamp 2016: Python. Вячеслав Каковский: Real-time мессенджер на Python. Осо...
PDF
Building Microservices with Apache Kafka by Colin McCabe
PDF
Microservices with NGINX pdf
PPTX
Kubernetes + netflix oss
PDF
Microservices
PDF
Building RESTtful services in MEAN
PPTX
Parallel programing in web applications - public.pptx
PDF
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
PDF
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
PDF
Using protocol analyzer on mikrotik
PDF
Kenzan: Architecting for Microservices
PDF
Web performance mercadolibre - ECI 2013
Implementing Microservices with NATS
Introducing the Microservices Reference Architecture Version 1.2
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
MySQL X protocol - Talking to MySQL Directly over the Wire
WebCamp Ukraine 2016: Instant messenger with Python. Back-end development
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
Micro Services Intro
WebCamp 2016: Python. Вячеслав Каковский: Real-time мессенджер на Python. Осо...
Building Microservices with Apache Kafka by Colin McCabe
Microservices with NGINX pdf
Kubernetes + netflix oss
Microservices
Building RESTtful services in MEAN
Parallel programing in web applications - public.pptx
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
Using protocol analyzer on mikrotik
Kenzan: Architecting for Microservices
Web performance mercadolibre - ECI 2013

More from Apcera (20)

PDF
Gopher fest 2017: Adding Context To NATS
PDF
How Clarifai uses NATS and Kubernetes for Machine Learning
PPTX
Modernizing IT in the Platform Era
PDF
Debugging Network Issues
PDF
IT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
PDF
Actor Patterns and NATS - Boulder Meetup
PDF
NATS Connector Framework - Boulder Meetup
PDF
Simple Solutions for Complex Problems - Boulder Meetup
PDF
Securing the Cloud Native Stack
PDF
Simple Solutions for Complex Problems
PDF
How to Migrate to Cloud with Complete Confidence and Trust
PDF
KURMA - A Containerized Container Platform - KubeCon 2016
PDF
Integration Patterns and Anti-Patterns for Microservices Architectures
PDF
NATS: Control Flow for Distributed Systems
PDF
Kubernetes, The Day After
PDF
Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud World
PDF
Integration Patterns for Microservices Architectures
PDF
Nats meetup sf 20150826
PDF
Microservices: Notes From The Field
PDF
Docker + App Container = ocp
Gopher fest 2017: Adding Context To NATS
How Clarifai uses NATS and Kubernetes for Machine Learning
Modernizing IT in the Platform Era
Debugging Network Issues
IT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
Actor Patterns and NATS - Boulder Meetup
NATS Connector Framework - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup
Securing the Cloud Native Stack
Simple Solutions for Complex Problems
How to Migrate to Cloud with Complete Confidence and Trust
KURMA - A Containerized Container Platform - KubeCon 2016
Integration Patterns and Anti-Patterns for Microservices Architectures
NATS: Control Flow for Distributed Systems
Kubernetes, The Day After
Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud World
Integration Patterns for Microservices Architectures
Nats meetup sf 20150826
Microservices: Notes From The Field
Docker + App Container = ocp

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Modernizing your data center with Dell and AMD
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
Teaching material agriculture food technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Modernizing your data center with Dell and AMD
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Teaching material agriculture food technology
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25 Week I

NATS vs HTTP