Load Balancing Versus Application Routing - DZone (2024)

  1. DZone
  2. Software Design and Architecture
  3. Performance
  4. Load Balancing Versus Application Routing

Load balancing and application routing may be provided by the same service, but are defined by key differences and distinct goals.

By

Load Balancing Versus Application Routing - DZone (1)

Lori MacVittie

·

Apr. 22, 17 · Opinion

Join the DZone community and get the full member experience.

Join For Free

As the lines between DevOps and NetOps continue to blur thanks to the highly distributed models of modern application architectures, there arises a need to understand the difference between load balancing and application routing. These are not the same thing, even though they might be provided by the same service.Load Balancing Versus Application Routing - DZone (2)

Load balancing is designed to provide availability through horizontal scale. To scale an application, a load balancer distributes requests across a pool (farm, cluster, etc) of duplicated applications (or services). The decision on which pool member gets to respond to a request is based on an algorithm. That algorithm can be quite apathetic as to whether or the chosen pool member is capable of responding or it can be “smart” about its decision, factoring in response times, current load, and even weighting decisions based on all of the above.This is the most basic load balancing pattern in existence. It’s been the foundation for availability (scale and failover) since 1996.

Load Balancing Versus Application Routing - DZone (3)

Load balancing of this kind is what we often (fondly) refer to as "dumb." That’s because it’s almost always based on TCP (layer 4 of the OSI stack). Like the honey badger, it don't care about the application (or its protocols) at all. All it worries about is receiving a TCP connection request and matching it up with one of the members in the appropriate pool. It’s not necessarily efficient, but gosh darn it, it works and it works well. Systems have progressed to the point that purpose-built software designed to do nothing but load balancing can manage millions of connections simultaneously. It’s really quite amazing if you’re at all aware that back in the early 2000s most systems could only handle on the order of thousands of simultaneous requests.

Now, application routing is something altogether different. First, it requires the system to care about the application and its protocols. That’s because in order to route an application request, the target must first be identified. This identification can be as simple as “what’s the host name” to something as complicated as “what’s the value of an element hidden somewhere in the payload in the form of a JSON key:value pair or XML element.” In between lies the most common application identifier – the URI.

Application “routes” can be deduced from the URI by examining its path and extracting certain pieces. This is akin to routing in Express (one of the more popular node.js API frameworks). A URI path in the form of: /user/profile/xxxxx – where xxxxx is an actual user name or account number – can be split apart and used to “route” the request to a specific pool for load balancing or to a designated member (application/service instance).This happens at the “virtual server” construct of the load balancer using some sort of policy or code.Load Balancing Versus Application Routing - DZone (4)

Application routing occurs before the load balancing decision. In effect, application routing enables a single load balancer to distribute requests intelligently across multiple applications or services. If you consider modern microservices-based applications combined with APIs (URIs representing specific requests) you can see how this type of functionality becomes useful. An API can be represented as a single domain (api.example.com) to the client, but behind the scenes, it is actually comprised of multiple applications or services that are scaled individually using a combination of application routing and load balancing.

One of the reasons (aside from my pedantic nature) to understand the difference between application routing and load balancing is that the two are not interchangeable. Routing makes a decision on where to forward something – a packet, an application request, an approval in your business workflow. Load balancing distributes something (packets, requests, approval) across a set of resources designed to process that something. You really can’t (shouldn’t) substitute one for the other. But what it also means is that you have freedom to mix and match how these two interact with one another. Load Balancing Versus Application Routing - DZone (5)

You can, for example, use plain old load balancing (POLB) for ingress load balancing and then use application routing (layer 7) to distribute requests (inside a container cluster, perhaps). You can also switch that around and use application routing for ingress traffic, distributing it via POLB inside the application architecture.

Load balancing and application routing can be layered, as well, to achieve specific goals with respect to availability and scale. I prefer to use application routing at the ingress because it enables greater variety and granularity in implementing both operational and application architectures more supportive of modern deployment patterns.

The decision on where to use POLB vs application routing is largely based on application architecture and requirements. Scale can be achieved with both, though with differing levels of efficacy. That discussion is beyond the scope of today’s post, but there are trade-offs.

It cannot be said often enough that the key to scaling applications today is about architectures, not algorithms. Understanding the differences of application routing and load balancing should provide a solid basis for designing highly scalable architectures.

application Load balancing (computing)

Published at DZone with permission of Lori MacVittie, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Automate Application Load Balancers With AWS Load Balancer Controller and Ingress

  • How to Configure an HTTPS Endpoint for Mule Applications With One-Way SSL

  • Auto-Scaling a Spring Boot Native App With Nomad

  • Troubleshooting HTTP 502 Bad Gateway in AWS EBS

Load Balancing Versus Application Routing - DZone (2024)
Top Articles
Can the IRS Really Seize Your Assets? - Master Plan Tax Solutions
Female entrepreneurs index worldwide 2021 | Statista
Design215 Word Pattern Finder
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Www.metaquest/Device Code
Koordinaten w43/b14 mit Umrechner in alle Koordinatensysteme
Linkvertise Bypass 2023
Co Parts Mn
litter - tłumaczenie słowa – słownik angielsko-polski Ling.pl
Knaben Pirate Download
Hope Swinimer Net Worth
Assets | HIVO Support
C Spire Express Pay
Https E24 Ultipro Com
Rainfall Map Oklahoma
Are They Not Beautiful Wowhead
10-Day Weather Forecast for Santa Cruz, CA - The Weather Channel | weather.com
CANNABIS ONLINE DISPENSARY Promo Code — $100 Off 2024
G Switch Unblocked Tyrone
Sadie Proposal Ideas
Golden Abyss - Chapter 5 - Lunar_Angel
Craigslist Pet Phoenix
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Johnnie Walker Double Black Costco
Euro Style Scrub Caps
Miltank Gamepress
Sec Baseball Tournament Score
Target Minute Clinic Hours
Dove Cremation Services Topeka Ks
Restaurants In Shelby Montana
Copper Pint Chaska
What Sells at Flea Markets: 20 Profitable Items
Harrison 911 Cad Log
Ugly Daughter From Grown Ups
Boneyard Barbers
Ixlggusd
2024 Coachella Predictions
Mega Millions Lottery - Winning Numbers & Results
Upstate Ny Craigslist Pets
Www Violationinfo Com Login New Orleans
Arcane Odyssey Stat Reset Potion
Mohave County Jobs Craigslist
Encompass.myisolved
Ezpawn Online Payment
Karen Wilson Facebook
Tricia Vacanti Obituary
Top 1,000 Girl Names for Your Baby Girl in 2024 | Pampers
Iron Drop Cafe
Rick And Morty Soap2Day
300+ Unique Hair Salon Names 2024
Myhrkohls.con
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 6217

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.