mobileNavlogo
headerlogo

Introduction to Clustering

Blog Author

Tekslate

Published Date

15th October, 2020

Ratings

Views

498

  • Share this blog :

 

At the end of this chapter you will be able to:

  • Cluster Introduction and Architecture
  • Networks and Clusters
  • Cluster Communication

Definition: Clustering

  • A cluster is a group of WebLogic Server instances, working in coordination.

  Clustering  

 

Benefits of Clustering

  • There are two main benefits of clustering together WebLogic servers:
    • Scalability
    • High-Availability
  • Scalability allows you to add and remove servers without disrupting current services.
  • High-Availability ensures that when a server (in a cluster) fails, there are other servers to take over the work so the client is not affected.

Key Capabilities:

The key capabilities of a WebLogic cluster are:

  • Application Failover

When an object in an application is performing a task becomes unavailable, another object will take over and finish the job.

  • Site Failover

When all the services and applications in a single site fail they can switch to a separate site and continue processing.

  • Server Migration

When a server fails, pinned services can be migrated to another server in a cluster.

  • Load Balancing

The even distribution of tasks and communications across multiple servers.  

Inclined to build a profession as Weblogic Developer? Then here is the blog post on, explore Weblogic Training

Cluster Architecture:

  • Applications are generally broken into multiple tiers, each representing their distinct functionality:
    • Web tier
    • Presentation tier
    • Business or object tier
  • WebLogic provides clustering support for all three tiers.
  • Other services, such as JMS and JDBC, can take advantage of clusters but load-balancing and failover is a little different.

Deciding on Cluster Architecture

Good architecture is somewhat subjective but there are a few global considerations:

       1.  Performance

        2. Efficient replication

        3. Optimal load balancing

        4. Effective failover

        5. Reliable communication

  • There are two primary cluster architectures to choose from:
    • Basic Cluster architecture
    • Multi-tier architecture

Basic Cluster Architecture

Basic cluster architecture combines static HTTP, presentation logic, business logic, and objects into one cluster.

Basic cluster architecture  

Multi-Tier Cluster Architecture

The Web tier and the business logic with services can be separated into two clusters.

Multi tier architecture  

When to Use Multi-tier Architecture

  • The multi-tier cluster is recommended for Web Applications that require:
    • Load balancing for method calls to clustered EJBs
    • Flexibility for load balancing between servers that provide
  • HTTP content and servers that provide clustered objects
    • Higher availability (fewer single points of failure)
    • More flexible security

Basic Cluster Architecture Advantages and Disadvantages

  • The basic cluster architecture has these advantages:
    • Easy administration
    • Flexible load balancing
    • Robust security
  • The basic cluster architecture has these disadvantages:
    • Cannot load balance EJB method calls
    • Load balancing across the tiers may become unbalanced

Multi-tier Advantages and Disadvantages:

  • The multi-tier architecture has these advantages:
    • Improved load balancing
    • Load balancing of EJB methods
    • Higher availability
    • Improved security options
  • The multi-tier architecture has these disadvantages:
    • Can create a bottleneck when presentation tier makes frequent calls to the business logic
    • Increased licensing cost
    • Added firewall configuration complexity

Proxy Servers

  • Proxy servers are used to provide load balancing and failover for a cluster.
    • Are the client’s first level of interaction with the cluster
    • Give the cluster its single server appearance
  • A proxy server can be either software-based or hardware-based.
  • A software-based proxy server may be an internal WebLogic servlet or a 3rd party application.
  • A hardware-based proxy server is typically a physical load balancer.

Basic Cluster Proxy Architecture:

Similar to the basic cluster architecture, except for static content, is hosted on non-clustered HTTP servers.

Basic Cluster Proxy architecture  

Multi-Tier Cluster Proxy Architecture

Similar to the multi-tier cluster architecture, except for static content, is hosted on non-clustered HTTP servers.

Multi-tier cluster proxy architecture  

 

WLS HttpClusterServlet

WLS Http Cluster servlet  

WLS Plug-Ins…

  • WLS is compatible with major Web servers using the following plug-ins:
    • Sun Java System Web Server plug-in (formerly Netscape iPlanet or Sun One Web Server)
    • IIS plug-in (Microsoft IIS)
    • Apache plug-in
  • Plug-ins:
    • Delegate dynamic content requests to WLS
    • Round-robin across a cluster
    • Support routing based on URL path or on the MIME type of the requested file or both
    • Route HTTP requests to back-end WLS instances based on session cookie or URL rewriting
    • Avoid failed servers in the cluster

Proxy Plug-in Vs. Load Balancer

  • There are many advantages to using a physical load balancer instead of the proxy plug-in:
    • No need to configure client plug-ins
    • Eliminating the proxy layer reduces the number of connections
    • The availability of more sophisticated load balancing algorithms
  • There are a number of disadvantages as well:
    • Additional administration
    • Explicit configuration of “sticky” sessions for stateful web Applications

Architecture Recommendations

  • If possible, place static web content on separate web servers in the DMZ.
  • Use combined tier architecture if your presentation and control tier makes multiple invocations of the business tier.
  • Make sure that your architecture choice supports passing active and passive cookies between the cluster and client application.

Clusterin Networks

  • WebLogic Server clusters can be created in three different kinds of networks:
    • Local Area Networks
    • Metropolitan Area Networks
    • Wide Area Networks
  • When you are configuring your cluster, you will need to keep in mind the type of network you are using.

Local Area Networks

  • A local area network (LAN) serves a local set of computers.
    • They usually use high quality, high-speed communication links
    • Typical data transmission speeds are 100 megabits/second
  • Most clusters exist within a single LAN

  LAN  

 

Metropolitan Area Networks: 

  • A Metropolitan Area Network (MAN) is a network that usually spans a campus or a city.
  • You can have different clusters located reasonably close to each other within a MAN.

MAN  

Wide Area Networks

  • A Wide Area Network (WAN) usually spans a wider geographical area and can be made up of smaller MANs and Local Area Networks (LAN).
  • You can have different clusters located in different regions within a WAN.

A cluster can be located in different LANs within a MAN or within a WAN

WAN    

Cluster Communication

Server Communication in a Cluster

  • WebLogic Server instances in a cluster communicate with one another using two different techniques:
    • Multicast (UDP)
    • Sockets (peer-to-peer TCP)
  • IP multicast broadcasts one-to-many communications among clustered instances.
  • IP sockets are used for peer-to-peer communications between servers.

Detecting a Failure:  

  • WebLogic clusters detect the failure of a server instance in the following ways:
    • Through the use of IP sockets
    • Through the WebLogic server heartbeat
  • If a server in the cluster unexpectedly closes its socket, it will be marked as "failed" and its services will not be used.
  • Server instances use multicast to broadcast heartbeats every 10 seconds to other server instances in the cluster.
    • If three heartbeats are missed from a peer server, the server is marked as "failed" and its services will not be used

One-to-Many Communications

  • WebLogic Server uses one-to-many communication for:
  • Cluster-wide JNDI updates
  • Cluster “heartbeats”
  • Because all one-to-many communications occur over IP multicast, when designing a cluster, consider these factors:
    • If your cluster spans multiple subnets, your network must be configured to reliably transmit messages
    • A firewall can break IP multicast transmissions
    • The multicast address should not be shared with other applications
    • Multicast storms may occur

Peer-to-Peer Communications:

  • WebLogic Server uses peer-to-peer communications for:
  • Accessing non-clustered objects that reside on a remote server instance in the cluster
  • Replicating HTTP session states and stateful session EJB states between a primary and a secondary server
  • Accessing clustered objects that reside on a remote server instance (typically, in a multi-tier cluster architecture)

Multi-Tier Communications:

  • Multi-tier clusters will require more IP Sockets than a combined-tier cluster:
    • One socket for replicating session states
    • One socket for each WebLogic Server in the EJB cluster, for accessing remote objects
  • As an example, using a three-node cluster, the worst-case scenario would be five open sockets per server:
    • One primary and secondary replicated session
    • Each server simultaneously invokes a remote EJB method on each node in the cluster

Communication in a WAN:

  • In a WAN, the servers in your cluster may span multiple subnets.
  • In order for multicast messages to reliably transmit across the WAN your network must meet the following requirements:
    • Full support of IP multicast packet propagation
    • A network latency that allows for multicast messages to reach their destination in 200 to 300 milliseconds
    • A multicast time-to-live value high enough to ensure that routers do not discard multicast packets

Summary:

In this chapter we discussed:

  • Cluster Introduction and Architecture
  • Networks and Clusters
  • Cluster Communication

Check out our Related Courses

About Author
Authorlogo
Name

TekSlate

Author Bio

TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills .

Related Blogs

Write For Us