Load Balancers at different networking layers.

Load Balancers at different networking layers.

Load balancing is the process of distributing network traffic across multiple servers. This ensures no single server bears too much demand. By spreading the work evenly, load balancing improves application responsiveness. It also increases availability of applications and websites for users.

Load balancers?manage the flow of information between the server and an endpoint device (PC, laptop, tablet or smartphone). The server could be on-premises, in a?data centre?or the public cloud. The server can also be physical or virtualized. The load balancer helps servers move data efficiently, optimizes the use of?application delivery?resources and prevents server overloads.

In the seven-layer?Open System Interconnection (OSI) model, load balancing happens between layers four to seven (L4-Transport, L5-Session, L6-Presentation and L7-Application).

Layer 4 Load Balancing

  • Layer 4 load balancing, operating at the transport level, manages traffic based on network information such as application ports and protocols without visibility into the actual content of messages.
  • This is an effective approach for simple?packet-level?load balancing. The fact that messages are neither inspected nor decrypted allows them to be forwarded quickly, efficiently, and securely.
  • On the other hand, because layer 4 load balancing is unable to make decisions based on content, it’s not possible to route traffic based on media type, localization rules, or other criteria beyond simple algorithms such as round-robin routing.

Layer 7 Load Balancing

  • Layer 7 load balancing operates at the application level, using protocols such as HTTP and SMTP to make decisions based on the actual content of each message.
  • Instead of merely forwarding traffic unread, a layer 7 load balancer terminates network traffic, performs decryption as needed, inspects messages, makes content-based routing decisions, initiates a new TCP connection to the appropriate upstream server, and writes the request to the server.
  • While the need for encryption incurs a performance penalty for layer 7 processing, this can be largely reduced through the use of?SSL offload functionality.
  • layer 7 load balancing provides the intelligence to handle protocols that piggyback or multiplex requests onto a single connection to optimize traffic and reduce overhead.

Global Server Load Balancing

  • Global Server Load Balancing?extends L4 and L7 capabilities to servers in different geographic locations.
  • Global server loading balancing (GSLB)?refers to web traffic management and application delivery over multiple data centres and/or public or private clouds in various geographical areas.
  • Passing user requests to the nearest servers minimizes network latency and network issues. GSLB ensures optimal website or service performance to clients in geographically distributed areas.
  • Application high availability minimizes the impact of data centre or network failures. For instance, if a power outage affects California, the?load balancer?will redirect client requests to other servers hosted in multiple sites that are spread apart geographically.
  • ?If applications are hosted in hybrid clouds, the GSLB system can “burst” to a public cloud to absorb unusually high load.


I hope you found the article useful.

Happy Coding :)


要查看或添加评论,请登录

Umang Agarwal的更多文章

  • Push and Pull Configuration Management Tools

    Push and Pull Configuration Management Tools

    Push and pull configuration management tools are software solutions that facilitate the management and distribution of…

    10 条评论
  • What is Configuration Management in DevOps?

    What is Configuration Management in DevOps?

    Configuration management in DevOps refers to the process of managing and controlling the configuration of software…

    3 条评论
  • Principles of Web Distributed Systems Design

    Principles of Web Distributed Systems Design

    Like most things in life, taking the time to plan ahead when building a web service can help in the long run;…

  • What is non-monotonicity good for?

    What is non-monotonicity good for?

    The difference between monotonicity and non-monotonicity is interesting. For example, adding two numbers is monotonic…

  • Lamport Clocks

    Lamport Clocks

    Assuming that we cannot achieve accurate clock synchronization - or starting with the goal that our system should not…

  • Does time progress at the same rate everywhere?

    Does time progress at the same rate everywhere?

    We all have an intuitive concept of time based on our own experience as individuals. Unfortunately, that intuitive…

  • Two Phase Commit (2PC)

    Two Phase Commit (2PC)

    Two phase commit (2PC) is a protocol used in many classic relational databases. For example, MySQL Cluster (not to be…

  • Partition and Replication

    Partition and Replication

    The manner in which a data set is distributed between multiple nodes is very important. In order for any computation to…

  • Forward Proxy vs Reverse Proxy Servers

    Forward Proxy vs Reverse Proxy Servers

    Forward Proxy A forward proxy is an intermediary that sits between one or more user devices and the internet. Instead…

  • Remote Procedure Calls (RPC)

    Remote Procedure Calls (RPC)

    In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to…

社区洞察

其他会员也浏览了