DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Data Engineering
  3. Databases
  4. Microservices Architectures: Introduction to API Gateways

Microservices Architectures: Introduction to API Gateways

We take a look at the concepts behind API gateways, approaching this topic from a microservices-based vantage point.

Ranga Karanam user avatar by
Ranga Karanam
CORE ·
May. 30, 19 · Analysis
Like (14)
Save
Tweet
Share
22.15K Views

Join the DZone community and get the full member experience.

Join For Free

In this article, we look at what an API Gateway is, in the context of microservices.

You Will Learn

  • What  an API Gatewayis.
  • Why we need API Gateways.
  • How an API Gateway works.

Cloud and Microservices Terminology

This is the third article in a series of six articles on terminology used with cloud and microservices. The first two article can be found here:

  1. Microservices Architecture: What Is Service Discovery

  2. Microservices Architecture: Centralized Configuration and Config Server

Handling Cross Cutting Concerns

Whenever we design and develop a large software application, we make use of a layered architecture. For instance, in a web application, it is quite common to see an architecture similar to the following:

Web application architecture

Here, we see that the application is organized into a web layer, a business layer, and a data layer.

In a layered architecture, there are specific parts that are common to all these different layers. Such parts include:

  • Logging

  • Security

  • Performance

  • Auditing

All these features are applicable across layers, hence it makes sense to implement them in a common way.

Aspect Oriented programming is a well established way of handling these concerns. Use of constructs such as filters and interceptors is common while implementing them.

The Need for API Gateways

When we talk about a microservices architecture, we deal with multiple microservices talking to each other: Basic Microservices Architecture

Where do you implement all the features that are common across microservices?

  • Authentication
  • Logging
  • Auditing
  • Rate limiting

That's where the API Gateway comes into the picture.

How Does an API Gateway Work?

In microservices, we route all requests — both internal and external — through API Gateways. We can implement all the common features like authentication, logging, auditing, and rate limiting in the API Gateway.

For example, you may not want Microservice3 to be called more than 10 times by a particular client. You could do that as part of rate limiting in the API gateway.

You can implement the common features across microservices in the API gateway. A popular API gateway implementation is the Zuul API gateway.

Summary

Just like AOP handles cross cutting concerns in standalone applications, API gateways manage common features for microservices in an enterprise.

API microservice Architecture

Published at DZone with permission of Ranga Karanam, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • The Role of Data Governance in Data Strategy: Part II
  • What Was the Question Again, ChatGPT?
  • The Importance of Delegation in Management Teams
  • Taming Cloud Costs With Infracost

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: