magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Introduction

With my sojourn at my current client due to come to an end at Christmas, I’ve started a period of documenting some of the things I’ve learnt. As I’ve “mentioned before(magpiebrain – There are some things you just don’t want to learn)”:http://www.magpiebrain.com/archives/2004/11/18/lessons , not everything I’ve learnt has been pleasant, but it’s all be informative. One of the most valuable experiences has been my first exposure to Weblogic. Previously I’d worked at smaller clients, and as such had only really used JBoss, so a chance to use what is considered by many to be the best of the “big” J2EE containers was welcome.

In general, I was fairly impressed with Weblogic. Yes it costs a huge amount of money. No, it isn’t perfect. But it does have some excellent features, especially impressive being it’s cluster management. So, for posterity’s sake (and for the sake of my own poor short term memory) I thought I’d introduce some Weblogic clustering concepts – domains, admin servers, node managers, managed instances and of course, clusters.

What is a Domain?

A domain is a management group. Clusters exist entirely within one domain, and a domain may contain multiple clusters. A cluster is managed by a single Admin Server.

What is an Admin Server?

An admin server is a process in charge of managing all facets of a domain. You can access an admin server either by its web front end, or directly via JMX (as “WLShell”:www.wlshell.com/ and the Ant weblogic tasks do). An admin server can start, stop and configure clusters, managed server instances, and the domain JNDI tree. It is also responsible for deploying applications – if you want to deploy an application, you contact the admin server, give it an application, and tell it where you want it deployed (either on a specific server instance, or on a cluster).

What is a Node Manager?

A node manager is a relatively “dumb” process, in charge of controlling weblogic server instances on a single machine. When you ask the admin server to manipulate a server instance (either directly or via a cluster), the admin server contacts the node manager on the relevant machine and asks it to perform the required task. Typically operating on port 5555, node managers use SSL for communication between itself and the admin server.

What is a managed Server Instance?

This is simply something which can host a deployed application. They are controlled by node managers.

What is a cluster?

A cluster is a set of managed server instances. When deploying an application you can specify that the application gets deployed to a cluster. You can start or stop a whole cluster, which in turn automatically starts/stops the managed server instances inside the cluster.

And because a picture paints a thousand words…

Hopefully this will make things a little clearer:

Weblogic_overview.gif

Advertisements

6 Responses to “A Weblogic Primer”

  1. Benjamin Francisoud

    I also use weblogic, I’m quite surprise that you used cluster feature. Did you really used cluster?
    For performances or just for failover?
    Did you had problems with session replication across cluster?
    On the (CRUD) webapp I’m currently working on, the main bottleneck is database access, distributing jsp is not a performance issue.

    Reply
  2. Sam Newman

    Yep, we use clustering – partially to enable scaling, but mostly for performance. Due to the way weblogic is priced (per CPU rather than per MHz), it pays to go for fewer, faster CPU’s rather than more, slower CPU’s, but the clustering also costs money – you should bear all that in mind before considering clustering.

    The weblogic management features aren’t used just for clustering, they are equally effective when dealing with single deployments (although if you don’t then need the more advanced features like clustering you could ask the question why use a big expensive container like Weblogic in the first place).

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Basic HTML is allowed. Your email address will not be published.

Subscribe to this comment feed via RSS

%d bloggers like this: