yoavs       2003/11/25 10:22:30

  Added:       webapps/docs balancer-howto.xml
  Log:
  Added initial version of balancer document.
  
  Revision  Changes    Path
  1.1                  jakarta-tomcat-catalina/webapps/docs/balancer-howto.xml
  
  Index: balancer-howto.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE document [
    <!ENTITY project SYSTEM "project.xml">
  ]>
  <document url="balancer-howto.html">
  
      &project; 
  
      <properties>
          <author email="[EMAIL PROTECTED]">Yoav Shapira</author>
          <title>Load Balancer HOW-TO</title>
      </properties>
  
  <body>
  
  
  <section name="Overview">
  
  <p>
  Tomcat 5.0.15 and later ships with a webapp named balancer.  This is
  a simple implemention of a rules-based load balancer.  It was not designed
  as a replacement for other load-balancing mechanisms used for high traffic
  environments.  Rather, it is a simple, pure Java, easily extensible, and fast
  way to direct traffic among multiple servers.
  </p>
  
  </section>
  
  <section name="Sample Configuration">
  <p>
  The default balancer installation uses a single filter, BalancerFilter,
  mapped to all requests (url-pattern /*).  The filter reads its rules
  from the location specified in the balancer deployment descriptor
  (web.xml file).  The default rules are:
  <ul>
    <li>Redirect requests with News in the URL to www.cnn.com</li>
    <li>Redirect requests with a parameter named paramName whose
  value is paramValue to www.yahoo.com.</li>
    <li>Redirect all other requests to jakarta.apache.org.</li>
  </ul>
  
  Therefore, when you install tomcat, start it, and point your
  browser to http://localhost:8080/balancer, you will be redirected
  to http://jakarta.apache.org.  If you point your browser to
  http://localhost:8080/balancer/News you will be redirected to
  http://www.cnn.com.  The request for 
  http://localhost:8080/balancer/BlahBlah?paramName=paramValue will
  be redirected to http://www.yahoo.com.
  </p>
  </section>
  
  <section name="Balancer Rules">
  <p>
  A <i>Rule</i> in the balancer system is a combination of
  a request matching criterion and a redirection URL for
  matching requests.  Rules implement the
  org.apache.webapp.balancer.Rule interface.
  </p>
  
  <p>
  The balancer distribution contains a number of useful
  rules.  The framework is also designed for easy extensibility
  so that you can write your own rules quickly.  Rules
  should be JavaBeans (public no-args constructor, public
  setter method setXXX for property xxx), as they are
  instantiated by Jakarta Commons Digester.  Feel free
  to inquire on the tomcat-user mailist list regarding
  the availability of rules of the inclusion of your rules
  in the distribution.
  </p>
  
  <p>
  Rules are assembled into RuleChains.  Each BalancerFilter
  (or Servlet/JSP) refers to one RuleChain when making its
  redirection decisions.  Not that you are not restricted
  to having one filter mapped to /*, as is the default 
  configuration.  You can configure as many filters as
  desired, using the full filter mapping possibilities defined
  in the Servlet Specification.  Each filter will have
  its own RuleChain.
  </p>
  </section>
  
  <section name="How it Works">
  <p>
  Here is the flow of events in the balancer:
  <ol>
    <li>You write a rules configuration file containing various
  rules and redirection locations.</li>
    <li>You define the balancer filter in your web.xml, mapping
  it as desired (/* is a common use-case) and configuring it
  with your rules configuration file.</li>
    <li>The server is started, initializing the filter.</li>
    <li>A request comes into the server.  The filter consults
  its rule chain to determine where to redirect the request.  Rules
  are consulted in the order in which they are defined in the rules
  configuration file.  The first matching rule will stop the
  evaluation and cause the request to be redirected.</li>
  </ol>
  </p>
  
  </section>
  
  </body>
  
  </document>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to