API Gateway Microservice Design Pattern Tutorial with Examples for Softw...
API Gateway Microservice Design Pattern Tutorial with Examples for Software Programmers
In this video we will learn about API Gateway design pattern. This is the first design principle in Integration design patterns category for microservices.
API Gateway pattern is also sometimes known as the "backend for frontend" (BFF). The purpose of API Gateway pattern is to provides single-entry point for a group of microservices. It's similar to the Façade pattern from object-oriented design, but in this case, it's part of a distributed system. API gateway sits between the client apps and the microservices. API Gateway acts as a reverse proxy, routing requests from clients to services. API Gateway provides other cross-cutting features like authentication, SSL termination, and cache.
An API Gateway offers multiple features. The most important and foundational features for any API Gateway are -
1. Reverse proxy or gateway routing.
2. Requests aggregation.
3. Cross-cutting concerns or gateway offloading.
The API Gateway offers a reverse proxy to redirect or route requests (layer 7 routing, usually HTTP requests) to the endpoints of the internal microservices. As part of the gateway pattern, you can aggregate multiple client requests (usually HTTP requests) targeting multiple internal microservices into a single client request. Depending on the features offered by each API Gateway product, you can offload functionality from individual microservices to the gateway. It offers following cross-cutting concerns.
a. Authentication and authorization
b. Service discovery integration
c. Response caching
d. Retry policies, circuit breaker, and QoS
e. Rate limiting and throttling
f. Load balancing
g. Logging, tracing, correlation
h. Headers, query strings, and claims transformation
i. IP allow listing
** Usage of this Design Pattern **
1. Use this pattern when you want single-entry point for all microservices.
2. Use this pattern when you want to break direct communication between client apps and the microservices.
3. Use this pattern when you want a reverse proxy to route requests from clients to services.
4. Use this pattern when to handle cross-cutting features like authentication, SSL termination, and cache.
** Advantages of this Design Pattern **
1. It encloses the whole internal structure of web applications.
2. It never calls a particular service. For example, client interaction with API gateway.
3. It helps in the simplification of code of the client-side.
** Chapter Timestamps **
0:00 Welcome to API Gateway design pattern
1:04 Agenda of tutorial
2:04 Introduction of API Gateway design pattern
3:21 Important Features of API Gateways
5:46 Real world examples of API Gateway design pattern
9:03 Usage of API Gateway design pattern
9:39 Advantages of API Gateway design pattern
10:37 Summary of API Gateway design pattern
11:17 Next video on Aggregator design pattern
#microservicedesignpatterns #apigateway #loadbalancer
** CHECK OUT OUR OTHER VIDEOS **
Difference between Monolithic and Microservice Architecture
• Difference betwee...
Spring boot project setup:
• Spring boot Proje...
Spring Boot Microservice with postgres database Project:
• Spring Boot Micro...
Prepare Docker file, Container and Build Image:
• Docker Tutorial f...
Deploy Docker Image AWS Elastic Container Service:
• Deploy Springboot...
Solid Principle Tutorial
• Solid Principles ...
** CHECK OUR PLAYLISTS **
Spring Boot Complete Tutorial
• Spring Boot Tutor...
Docker Containers Complete Tutorial
• Cloud & Container...
Microservice Architecture and Microservice Design Patterns Tutorial
• Microservice Arch...
Solid Principles Tutorial
• Solid Principles ...
Java Design Pattern Complete Tutorial with Examples
• Java Design Patte...
** ABOUT OUR CHANNEL **
CodeOneDigest is a youtube channel that produces videos on programming languages, cloud and container technologies, Software design principles, Java frameworks in English and Hindi languages.
Check out our channel here:
/ @codeonedigest
Don’t forget to subscribe!
** OUR WEBSITE **
https://codeonedigest.wordpress.com/
** GET IN TOUCH **
Email us on codeonedigest@gmail.com
FOLLOW US ON SOCIAL - LIKE, SHARE & SUBSCRIBE
Get updates or reach out to Get updates on our Social Media Profiles!
Subscribe: https://bit.ly/3NeWQ8U
Youtube:
/ @codeonedigest
Twitter: https://twitter.com/codeonedigest
Facebook: https://www.facebook.com/codeonedigest
Instagram: https://www.instagram.com/codeonedigest/
Linkedin: https://www.linkedin.com/in/codeone-d...
Github: https://github.com/codeonedigest
Website: https://codeonedigest.wordpress.com/
Tumblr: https://www.tumblr.com/codeonedigest
Comments
Post a Comment