0% found this document useful (0 votes)
13 views19 pages

Modern Topics in IT - Lecture Three

This document summarizes a lecture on microservice architecture in ASP.NET Core. The lecture covers microservice architecture versus monolithic architecture, examples of what has been built, products with API gateway features like Azure API Management and Ocelot, and the differences between the API gateway pattern and direct client-to-microservice communication. The document provides an overview of key topics that will be discussed in the lecture, including microservice architecture, API gateways, routing requests through a gateway, and offloading cross-cutting concerns to a gateway.

Uploaded by

Nikitha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views19 pages

Modern Topics in IT - Lecture Three

This document summarizes a lecture on microservice architecture in ASP.NET Core. The lecture covers microservice architecture versus monolithic architecture, examples of what has been built, products with API gateway features like Azure API Management and Ocelot, and the differences between the API gateway pattern and direct client-to-microservice communication. The document provides an overview of key topics that will be discussed in the lecture, including microservice architecture, API gateways, routing requests through a gateway, and offloading cross-cutting concerns to a gateway.

Uploaded by

Nikitha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

MODERN TOPICS

I N I N F O R M AT I O N
TECHNOLOGY
4TH YEAR –
SEMESTER 1
LECTURE 3
BY ISANKA
R AT H N AYA K A

• CONSULTANT TECHNOLOGY
• MANAGER – SOFTWARE DEVELOPMENT
– SYDPRO PVT.LTD –
[email protected]
• CURTIN UNIVERSITY OF TECHNOLOGY
BENTLEY, WESTERN AUSTRALIA
WE ARE GOING TO COVER..
1. MICROSERVICE ARCHITECTURE IN ASP .NET CORE
2. MICROSERVICES VS MONOLITHIC ARCHITECTURE
3. WHAT WE’VE BUILD
4. PRODUCTS WITH API GATEWAY FEATURES
5. INTRODUCING TO OCELOTE API GATEWAY
6. API GATEWAY PATTERN VS DIRECT CLIENT-TO-MICROSERVICE
COMMUNICATION
7. Q & A
MICROSERVICE
ARCHITECTURE IN
ASP.NET CORE …
OVERVIEW
• Monolithic Architecture –
Basics
MICROSERVICE ARCHITECTURE…
OVERCOMING
MANY
MICROSERVICE
UPFRONTS… EACH MICROSERVICE YOU DEPLOY WILL TO OVERCOME THIS, WE INTRODUCE
HAVE A DIFFERENT URL WITH A AN API GATEWAY PLACED RIGHT IN
DIFFERENT PORT NUMBER.. BETWEEN THE CLIENT AND THE
IMAGINE IF YOU HAVE 50 MICROSERVICES. THIS GATEWAY RE-
MICROSERVICES … THEN YOU WILL BE ROUTES ALL THE API ENDPOINTS AND
PROVIDING 50 END POINTS TO YOUR UNIFIES IT UNDER A SINGLE DOMAIN, SO
CONSUMER THAT THE CLIENT NOW NO LONGER
CARES ABOUT THE 50 MICROSERVICES..
PRODUCTS WITH API GATEWAY
FEATURES…
THERE CAN BE MANY MORE CROSS-CUTTING CONCERNS OFFERED BY THE
API GATEWAYS PRODUCTS DEPENDING ON EACH IMPLEMENTATION. WE'LL
EXPLORE HERE:

1. AZURE API MANAGEMENT


2. OCELOT
AZURE API MANAGEMENT
INTRODUCING OCELOT API GATEWAY..
 OCELOT IS AN OPEN-SOURCE API GATEWAY FOR THE
.NET/CORE PLATFORM. WHAT IS DOES IS SIMPLE. IT UNIFIES
MULTIPLE MICROSERVICES SO THAT THE CLIENT DOES NOT
HAVE TO WORRY ABOUT THE LOCATION OF EACH
MICROSERVICE. OCELOT API GATEWAY TRANSFORMS THE
INCOMING HTTP REQUEST FROM THE CLIENT AND FORWARD
IT TO AN APPROPRIATE MICROSERVICE.
 OCELOT IS WIDELY USED BY MICROSOFT AND OTHER TECH-
GIANTS AS WELL FOR MICROSERVICE MANAGEMENT. THE
LATEST VERSION OF OCELOT TARGETS ASP.NET CORE 3.1 AND
IS NOT SUITABLE FOR .NET FRAMEWORK APPLICATIONS. IT
WILL BE AS EASY AND INSTALLING THE OCELOT PACKAGE TO
YOUR API GATEWAY PROJECT AND SETTING UP A JSON
CONFIGURATION FILE THAT STATES THE UPSTREAM AND
 UPSTREAM AND DOWNSTREAM ARE 2 TERMS THAT YOU
MUST BE CLEAR WITH. UPSTREAM REQUEST IS THE REQUEST
SENT BY THE CLIENT TO THE API GATEWAY. DOWNSTREAM
REQUEST IS THE REQUEST SENT TO THE MICROSERVICE BY
THE API GATEWAY. ALL THESE ARE FROM THE PERSPECTIVE
OF THE API GATEWAY. LET’S SEE A SMALL DIAGRAM TO
UNDERSTAND THIS CONCEPT BETTER.
API GATEWAY PATTERN VS DIRECT CLIENT
– MICRO SERVICE COMMUNICATION…
WHAT IS THE API GATEWAY PATTERN?
USING MULTIPLE API GATEWAY / BFF
MAIN FEATURES IN API GATEWAY PATTERN…
 REVERSE PROXY OR GATEWAY ROUTING –
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. THE GATEWAY PROVIDES A SINGLE ENDPOINT OR URL FOR THE
CLIENT APPS AND THEN INTERNALLY MAPS THE REQUESTS TO A GROUP OF INTERNAL
MICROSERVICES. THIS ROUTING FEATURE HELPS TO DECOUPLE THE CLIENT APPS FROM
THE MICROSERVICES BUT IT'S ALSO CONVENIENT WHEN MODERNIZING A MONOLITHIC
API BY SITTING THE API GATEWAY IN BETWEEN THE MONOLITHIC API AND THE CLIENT
APPS, THEN YOU CAN ADD NEW APIS AS NEW MICROSERVICES WHILE STILL USING THE
LEGACY MONOLITHIC API UNTIL IT'S SPLIT INTO MANY MICROSERVICES IN THE
FUTURE. BECAUSE OF THE API GATEWAY, THE CLIENT APPS WON'T NOTICE IF THE APIS
BEING USED ARE IMPLEMENTED AS INTERNAL MICROSERVICES OR A MONOLITHIC API
AND MORE IMPORTANTLY, WHEN EVOLVING AND REFACTORING THE MONOLITHIC API
INTO MICROSERVICES, THANKS TO THE API GATEWAY ROUTING, CLIENT APPS WON'T BE
IMPACTED WITH ANY URI CHANGE.
 REQUEST AGGREGATION -
AS PART OF THE GATEWAY PATTERN, YOU CAN AGGREGATE MULTIPLE
CLIENT REQUESTS (USUALLY HTTP REQUESTS) TARGETING MULTIPLE
INTERNAL MICROSERVICES INTO A SINGLE CLIENT REQUEST. THIS PATTERN
IS ESPECIALLY CONVENIENT WHEN A CLIENT PAGE/SCREEN NEEDS
INFORMATION FROM SEVERAL MICROSERVICES. WITH THIS APPROACH, THE
CLIENT APP SENDS A SINGLE REQUEST TO THE API GATEWAY THAT
DISPATCHES SEVERAL REQUESTS TO THE INTERNAL MICROSERVICES AND
THEN AGGREGATES THE RESULTS AND SENDS EVERYTHING BACK TO THE
CLIENT APP. THE MAIN BENEFIT AND GOAL OF THIS DESIGN PATTERN IS TO
REDUCE CHATTINESS BETWEEN THE CLIENT APPS AND THE BACKEND API,
WHICH IS ESPECIALLY IMPORTANT FOR REMOTE APPS OUT OF THE
DATACENTER WHERE THE MICROSERVICES LIVE, LIKE MOBILE APPS OR
REQUESTS COMING FROM SPA APPS THAT COME FROM JAVASCRIPT IN
CLIENT REMOTE BROWSERS.
 CROSS CUTTING CONCERN OR GATEWAY OVERLOADING -
. DEPENDING ON THE FEATURES OFFERED BY EACH API GATEWAY PRODUCT, YOU CAN OFFLOAD
FUNCTIONALITY FROM INDIVIDUAL MICROSERVICES TO THE GATEWAY, WHICH SIMPLIFIES THE
IMPLEMENTATION OF EACH MICROSERVICE BY CONSOLIDATING CROSS-CUTTING CONCERNS
INTO ONE TIER. THIS APPROACH IS ESPECIALLY CONVENIENT FOR SPECIALIZED FEATURES THAT
CAN BE COMPLEX TO IMPLEMENT PROPERLY IN EVERY INTERNAL MICROSERVICE, SUCH AS THE
FOLLOWING FUNCTIONALITY:
•AUTHENTICATION AND AUTHORIZATION
•SERVICE DISCOVERY INTEGRATION
•RESPONSE CACHING
•RETRY POLICIES, CIRCUIT BREAKER, AND QOS
•RATE LIMITING AND THROTTLING
•LOAD BALANCING
•LOGGING, TRACING, CORRELATION
•HEADERS, QUERY STRINGS, AND CLAIMS TRANSFORMATION
•IP ALLOW LISTING
REFERENCES..

• https://docs.microsoft.com/en-us/dotnet/architecture/microservices/architect-
microservice-container-applications/direct-client-to-microservice-communic
ation-versus-the-api-gateway-pattern
Q&A

You might also like