You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/11/25 22:04:51 UTC

svn commit: r1413417 [5/12] - in /qpid/site/docs/books/trunk: AMQP-Messaging-Broker-CPP-Book/html/ AMQP-Messaging-Broker-CPP-Book/pdf/ AMQP-Messaging-Broker-Java-Book/html/ AMQP-Messaging-Broker-Java-Book/pdf/ Programming-In-Apache-Qpid/html/ Programmi...

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Monitoring-cluster.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Monitoring-cluster.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Monitoring-cluster.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Monitoring-cluster.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,17 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.9. Monitoring cluster</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-JMXAPI.html" title="12.8. Qpid JMX API for HA"><link rel="next" href="Java-Broker-High-Availability-DiskSpace.html" title="12.10. Disk space requirements"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.ap
 ache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A
 ></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H
 3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Monitoring cluster</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-Monitoring-cluster"></a>12.9. Monitoring cluster</h2></div></div></div><p>In order to discover potential issues with HA Cluster early, all nodes in
  the Cluster should be monitored on regular basis
+    using the following techniques:</p><div class="itemizedlist"><ul><li><p>Broker log files scrapping for WARN or ERROR entries and operational log entries like:</p><div class="itemizedlist"><ul><li><p><span class="emphasis"><em>MST-1007 :</em></span> Store Passivated. It can indicate that Master virtual host has gone down.</p></li><li><p><span class="emphasis"><em>MST-1006 :</em></span> Recovery Complete. It can indicate that a former Replica virtual host is up and became the Master.</p></li></ul></div></li><li><p>Disk space usage and system load using system tools.</p></li><li><p>Berkeley HA node status using <a class="ulink" href="http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/rep/util/DbPing.html" target="_top"><code class="classname">DbPing</code></a> utility.</p><div class="example"><a name="id2503460"></a><p class="title"><b>Example 12.4. Using <code class="classname">DbPing</code> utility for monitoring HA nodes.</b></p><div class="example-cont
 ents"><span class="command"><strong>
+java -jar je-5.0.58.jar DbPing -groupName TestClusterGroup -nodeName Node-5001 -nodeHost localhost:5001 -socketTimeout 10000
+</strong></span><pre class="screen">
+Current state of node: Node-5001 from group: TestClusterGroup
+  Current state: MASTER
+  Current master: Node-5001
+  Current JE version: 5.0.58
+  Current log version: 8
+  Current transaction end (abort or commit) VLSN: 165
+  Current master transaction end (abort or commit) VLSN: 0
+  Current active feeders on node: 0
+  Current system load average: 0.35
+</pre></div></div><br class="example-break"><p>In the example above <code class="classname">DbPing</code> utility requested status of Cluster node with name
+            <span class="emphasis"><em>Node-5001</em></span> from replication group <span class="emphasis"><em>TestClusterGroup</em></span> running on host <span class="emphasis"><em>localhost:5001</em></span>.
+            The state of the node was reported into a system output.
+            </p></li><li><p>Using Qpid broker JMX interfaces.</p><p>Mbean <code class="classname">BDBHAMessageStore</code> can be used to request the following node information:</p><div class="itemizedlist"><ul><li><p><span class="emphasis"><em>NodeState</em></span> indicates whether node is a Master or Replica.</p></li><li><p><span class="emphasis"><em>Durability</em></span> replication durability.</p></li><li><p><span class="emphasis"><em>DesignatedPrimary</em></span> indicates whether Master node is designated primary.</p></li><li><p><span class="emphasis"><em>GroupName</em></span> replication group name.</p></li><li><p><span class="emphasis"><em>NodeName</em></span> node name.</p></li><li><p><span class="emphasis"><em>NodeHostPort</em></span> node host and port.</p></li><li><p><span class="emphasis"><em>HelperHostPort</em></span> helper host and port.</p></li><li><p><span class="emphasis"><em>AllNodesInGroup</em></span> lists of all nodes in the replication group includi
 ng their names, hosts and ports.</p></li></ul></div><p>For more details about <code class="classname">BDBHAMessageStore</code> MBean please refer section <a class="link" href="Java-Broker-High-Availability-JMXAPI.html" title="12.8. Qpid JMX API for HA">Qpid JMX API for HA</a></p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-JMXAPI.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-DiskSpace.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.8. Qpid JMX API for HA </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.10. Disk space requirements</td></tr></table></div
 ><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-MultiNodeCluster.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-MultiNodeCluster.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-MultiNodeCluster.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-MultiNodeCluster.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,2 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.4. Multi Node Cluster</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-TwoNodeCluster.html" title="12.3. Two Node Cluster"><link rel="next" href="Java-Broker-High-Availability-Configuration.html" title="12.5. Configuring a Virtual Host to be a node"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI
 ><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.ht
 ml">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_b
 ody"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Multi Node Cluster</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-MultiNodeCluster"></a>12.4. Multi Node Cluster</h2></div></div></div><p>Multi node clusters, that is clusters where the num
 ber of nodes is three or more, are not yet
+         ready for use.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-TwoNodeCluster.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Configuration.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.3. Two Node Cluster </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.5. Configuring a Virtual Host to be a node</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Network-Requirements.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Network-Requirements.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Network-Requirements.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Network-Requirements.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,3 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.11. Network Requirements</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-DiskSpace.html" title="12.10. Disk space requirements"><link rel="next" href="Java-Broker-High-Availability-Security.html" title="12.12. Security"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.
 org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI
 ><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL
 ><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Network Requirements</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-Network-Requirements"></a>12.11. Network Requirements</h2></div></div></div><p>The HA Cluster performance depends on the network bandwidth, its use by
  existing traffic, and quality of service.</p><p>In order to achieve the best performance it is recommended to use a separate network infrastructure for the Qpid HA Nodes
+     which might include installation of dedicated network hardware on Broker hosts, assigning a higher priority to replication ports,
+     installing a cluster in a separate network not impacted by any other traffic.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.10. Disk space requirements </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.12. Security</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-OfferingsOfJavaBroker.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-OfferingsOfJavaBroker.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-OfferingsOfJavaBroker.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-OfferingsOfJavaBroker.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,13 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.2. HA offerings of the Java Broker</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="next" href="Java-Broker-High-Availability-TwoNodeCluster.html" title="12.3. Two Node Cluster"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http
 ://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Rep
 ository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About
  Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">HA offerings of the Java Broker</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-OfferingsOfJavaBroker"></a>12.2. HA offerings of the Java Broker</h2></div></div></div><p>The Java Broker's HA offering beca
 me available at release <span class="bold"><strong>0.18</strong></span>.  HA is provided by way of the HA
+      features built into the <a class="ulink" href="http://www.oracle.com/technetwork/products/berkeleydb/overview/index-093405.html" target="_top">Java Edition of the Berkley Database (BDB JE)</a> and as such
+      is currently only available to Java Broker users who use the optional BDB JE based persistence store. This
+      <span class="bold"><strong>optional</strong></span> store requires the use of BDB JE which is licensed under the Sleepycat Licence, which is
+      not compatible with the Apache Licence and thus BDB JE is not distributed with Qpid. Users who elect to use this optional store for
+      the broker have to provide this dependency.</p><p>HA in the Java Broker provides an <span class="bold"><strong>Active/Passive</strong></span> mode of operation with Virtual hosts being
+      the unit of replication.  The Active node (referred to as the <span class="bold"><strong>Master</strong></span>) accepts all work from all the clients.
+       The Passive nodes (referred to as <span class="bold"><strong>Replicas</strong></span>) are unavailable for work: the only task they must perform is
+       to remain in synch with the Master node by consuming a replication stream containing all data and state.</p><p>If the Master node fails, a Replica node is elected to become the new Master node.  All clients automatically failover
+      <sup>[<a name="id2495669" href="#ftn.id2495669" class="footnote">5</a>]</sup> to the new Master and continue their work.</p><p>The Java Broker HA solution is incompatible with the HA solution offered by the CPP Broker.  It is not possible to co-locate Java and CPP
+       Brokers within the same cluster.</p><p>HA is not currently available for those using the the <span class="bold"><strong>Derby Store</strong></span> or <span class="bold"><strong>Memory
+      Message Store</strong></span>.</p><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2495669" href="#id2495669" class="para">5</a>] </sup>The automatic failover feature is available only for AMQP connections from the Java client.  Management connections (JMX)
+        do not current offer this feature.</p></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-TwoNodeCluster.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 12. High Availability </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.3. Two Node Cluster</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Performance.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Performance.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Performance.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Performance.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,107 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.16. Performance</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-DisasterRecovery.html" title="12.15. Disaster Recovery"><link rel="next" href="Java-Broker-Miscellaneous.html" title="Chapter 13. Miscellaneous"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/inde
 x.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A 
 href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A 
 href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Performance</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-Performance"></a>12.16. Performance</h2></div></div></div><p>The aim of this section is not to provide exact performance metrics relating to HA, as this depends heavil
 y on the test
+    environment, but rather showing an impact of HA on Qpid broker performance in comparison with the Non HA case.</p><p>For testing of impact of HA on a broker performance a special test script was written using Qpid performance test framework.
+    The script opened a number of connections to the Qpid broker, created producers and consumers on separate connections,
+    and published test messages with concurrent producers into a test queue and consumed them with concurrent consumers.
+    The table below shows the number of producers/consumers used in the tests.
+    The overall throughput was collected for each configuration.
+    </p><table border="1" id="id2504115">Number of producers/consumers in performance tests<thead><tr>
+          <th>Test</th>
+          <th>Number of producers</th>
+          <th>Number of consumers</th>
+        </tr></thead><tbody><tr>
+          <td>1</td>
+          <td>1</td>
+          <td>1</td>
+        </tr><tr>
+          <td>2</td>
+          <td>2</td>
+          <td>2</td>
+        </tr><tr>
+          <td>3</td>
+          <td>4</td>
+          <td>4</td>
+        </tr><tr>
+          <td>4</td>
+          <td>8</td>
+          <td>8</td>
+        </tr><tr>
+          <td>5</td>
+          <td>16</td>
+          <td>16</td>
+        </tr><tr>
+          <td>6</td>
+          <td>32</td>
+          <td>32</td>
+        </tr><tr>
+          <td>7</td>
+          <td>64</td>
+          <td>64</td>
+        </tr></tbody></table><p>The test was run against the following Qpid Broker configurations</p><div class="itemizedlist"><ul><li><p>Non HA Broker</p></li><li><p>HA 2 Nodes Cluster with durability <span class="emphasis"><em>SYNC,SYNC,ALL</em></span></p></li><li><p>HA 2 Nodes Cluster with durability <span class="emphasis"><em>WRITE_NO_SYNC,WRITE_NO_SYNC,ALL</em></span></p></li><li><p>HA 2 Nodes Cluster with durability <span class="emphasis"><em>WRITE_NO_SYNC,WRITE_NO_SYNC,ALL</em></span> and <span class="emphasis"><em>coalescing-sync</em></span> Qpid mode</p></li><li><p>HA 2 Nodes Cluster with durability <span class="emphasis"><em>WRITE_NO_SYNC,NO_SYNC,ALL</em></span> and <span class="emphasis"><em>coalescing-sync</em></span> Qpid mode</p></li><li><p>HA 2 Nodes Cluster with durability <span class="emphasis"><em>NO_SYNC,NO_SYNC,ALL</em></span> and <span class="emphasis"><em>coalescing-sync</em></span> Qpid option</p></li></ul></div><p>The evironment used in testing consis
 ted of 2 servers with 4 CPU cores (2x Intel(r) Xeon(R) CPU 5150@2.66GHz), 4GB of RAM
+        and running under OS Red Hat Enterprise Linux AS release 4 (Nahant Update 4). Network bandwidth was 1Gbit.
+    </p><p>We ran Master node on the first server and Replica and clients(both consumers and producers) on the second server.</p><p>In non-HA case Qpid Broker was run on a first server and clients were run on a second server.</p><p>The table below contains the test results we measured on this environment for different Broker configurations.</p><p>Each result is represented by throughput value in KB/second and difference in % between HA configuration and non HA case for the same number of clients.</p><table border="1" id="id2504367">Performance Comparison<thead><tr>
+          <td>Test/Broker</td>
+          <td>No HA</td>
+          <td>SYNC, SYNC, ALL</td>
+          <td>WRITE_NO_SYNC, WRITE_NO_SYNC, ALL</td>
+          <td>WRITE_NO_SYNC, WRITE_NO_SYNC, ALL - coalescing-sync</td>
+          <td>WRITE_NO_SYNC, NO_SYNC,ALL - coalescing-sync</td>
+          <td>NO_SYNC, NO_SYNC, ALL - coalescing-sync</td>
+        </tr></thead><tbody><tr>
+          <td>1 (1/1)</td>
+          <td>0.0%</td>
+          <td>-61.4%</td>
+          <td>117.0%</td>
+          <td>-16.02%</td>
+          <td>-9.58%</td>
+          <td>-25.47%</td>
+        </tr><tr>
+          <td>2 (2/2)</td>
+          <td>0.0%</td>
+          <td>-75.43%</td>
+          <td>67.87%</td>
+          <td>-66.6%</td>
+          <td>-69.02%</td>
+          <td>-30.43%</td>
+        </tr><tr>
+          <td>3 (4/4)</td>
+          <td>0.0%</td>
+          <td>-84.89%</td>
+          <td>24.19%</td>
+          <td>-71.02%</td>
+          <td>-69.37%</td>
+          <td>-43.67%</td>
+        </tr><tr>
+          <td>4 (8/8)</td>
+          <td>0.0%</td>
+          <td>-91.17%</td>
+          <td>-22.97%</td>
+          <td>-82.32%</td>
+          <td>-83.42%</td>
+          <td>-55.5%</td>
+        </tr><tr>
+          <td>5 (16/16)</td>
+          <td>0.0%</td>
+          <td>-91.16%</td>
+          <td>-21.42%</td>
+          <td>-86.6%</td>
+          <td>-86.37%</td>
+          <td>-46.99%</td>
+        </tr><tr>
+          <td>6 (32/32)</td>
+          <td>0.0%</td>
+          <td>-94.83%</td>
+          <td>-51.51%</td>
+          <td>-92.15%</td>
+          <td>-92.02%</td>
+          <td>-57.59%</td>
+        </tr><tr>
+          <td>7 (64/64)</td>
+          <td>0.0%</td>
+          <td>-94.2%</td>
+          <td>-41.84%</td>
+          <td>-89.55%</td>
+          <td>-89.55%</td>
+          <td>-50.54%</td>
+        </tr></tbody></table><p>The figure below depicts the graphs for the performance test results</p><div class="figure"><a name="id2504631"></a><p class="title"><b>Figure 12.8. Test results</b></p><div class="figure-contents"><div><img src="images/HA-perftests-results.png" alt="Test results"></div></div></div><br class="figure-break"><p>On using durability <span class="emphasis"><em>SYNC,SYNC,ALL</em></span> (without coalescing-sync) the performance drops significantly (by 62-95%) in comparison with non HA broker.</p><p>Whilst, on using durability <span class="emphasis"><em>WRITE_NO_SYNC,WRITE_NO_SYNC,ALL</em></span> (without coalescing-sync) the performance drops by only half, but with loss of durability guarantee, so is not recommended.</p><p>In order to have better performance with HA, Qpid Broker comes up with the special mode called <a class="link" href="Java-Broker-High-Availability-DurabilityGuarantee.html#Java-Broker-High-Availability-DurabilityGuarantee_Co
 alescingSync" title="12.6.2. Coalescing-sync">coalescing-sync</a>,
+    With this mode enabled, Qpid broker batches the concurrent transaction commits and syncs transaction data into Master disk in one go.
+    As result, the HA performance only drops by 25-60% for durability <span class="emphasis"><em>NO_SYNC,NO_SYNC,ALL</em></span> and by 10-90% for <span class="emphasis"><em>WRITE_NO_SYNC,WRITE_NO_SYNC,ALL</em></span>.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-DisasterRecovery.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Miscellaneous.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.15. Disaster Recovery </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 13. Miscellaneous</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Security.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Security.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Security.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-Security.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.12. Security</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-Network-Requirements.html" title="12.11. Network Requirements"><link rel="next" href="Java-Broker-High-Availability-Backup.html" title="12.13. Backups"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/ind
 ex.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A
  href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A
  href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Security</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-Security"></a>12.12. Security</h2></div></div></div><p>At the moment Berkeley replication API supports only TCP/IP protocol to transfer replication data between Master a
 nd Replicas.</p><p>As result, the replicated data is unprotected and can be intercepted by anyone having access to the replication network.</p><p>Also, anyone who can access to this network can introduce a new node and therefore receive a copy of the data.</p><p>In order to reduce the security risks the entire HA cluster is recommended to run in a separate network protected from general access.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-Backup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.11. Network Requirements </td><td width="20%" align="center"><a accesskey="h" href="index.html">H
 ome</a></td><td width="40%" align="right" valign="top"> 12.13. Backups</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-TwoNodeCluster.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-TwoNodeCluster.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-TwoNodeCluster.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability-TwoNodeCluster.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,59 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>12.3. Two Node Cluster</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-High-Availability.html" title="Chapter 12. High Availability"><link rel="prev" href="Java-Broker-High-Availability-OfferingsOfJavaBroker.html" title="12.2. HA offerings of the Java Broker"><link rel="next" href="Java-Broker-High-Availability-MultiNodeCluster.html" title="12.4. Multi Node Cluster"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><
 LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.
 html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box
 _body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-High-Availability.html">High Availability</a></span> &gt; <span class="breadcrumb-node">Two Node Cluster</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-TwoNodeCluster"></a>12.3. Two Node Cluster</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div
 ><div><h3 class="title"><a name="id2496523"></a>12.3.1. Overview</h3></div></div></div><p>In this HA solution, a cluster is formed with two nodes. one node serves as
+        <span class="bold"><strong>master</strong></span> and the other is a <span class="bold"><strong>replica</strong></span>.
+      </p><p>All data and state required for the operation of the virtual host is automatically sent from the
+        master to the replica. This is called the replication stream. The master virtual host confirms each
+        message is on the replica before the client transaction completes. The exact way the client awaits
+        for the master and replica is gorverned by the <a class="link" href="Java-Broker-High-Availability-DurabilityGuarantee.html" title="12.6. Durability Guarantees">durability</a>
+        configuration, which is discussed later. In this way, the replica remains ready to take over the
+        role of the master if the master becomes unavailable.
+      </p><p>It is important to note that there is an inherent limitation of two node clusters is that
+        the replica node cannot make itself master automatically in the event of master failure.  This
+        is because the replica has no way to distinguish between a network partition (with potentially
+        the master still alive on the other side of the partition) and the case of genuine master failure.
+        (If the replica were to elect itself as master, the cluster would run the risk of a
+        <a class="ulink" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> scenario).
+        In the event of a master failure, a third party must designate the replica as primary.  This process
+        is described in more detail later.
+      </p><p>Clients connect to the cluster using a <a class="link" href="Java-Broker-High-Availability-ClientFailover.html" title="12.7. Client failover configuration">failover url</a>.
+        This allows the client to maintain a connection to the master in a way that is transparent
+        to the client application.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2496603"></a>12.3.2. Depictions of cluster operation</h3></div></div></div><p>In this section, the operation of the cluster is depicted through a series of figures
+        supported by explanatory text.</p><div class="figure"><a name="id2496618"></a><p class="title"><b>Figure 12.1. Key for figures</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-Key.png" alt="Key to figures"></div></div></div><br class="figure-break"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Java-Broker-High-Availability-TwoNodeNormalOperation"></a>12.3.2.1. Normal Operation</h4></div></div></div><p>The figure below illustrates normal operation.  Clients connecting to the cluster by way
+	  of the failover URL achieve a connection to the master. As clients perform work (message
+	  production, consumption, queue creation etc), the master additionally sends this data to the
+	  replica over the network.</p><div class="figure"><a name="id2496670"></a><p class="title"><b>Figure 12.2. Normal operation of a two-node cluster</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-Normal.png" alt="Normal operation"></div></div></div><br class="figure-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Java-Broker-High-Availability-TwoNodeMasterFailure"></a>12.3.2.2. Master Failure and Recovery</h4></div></div></div><p>The figure below illustrates a sequence of events whereby the master suffers a failure
+	  and the replica is made the master to allow the clients to continue to work. Later the
+	  old master is repaired and comes back on-line in replica role.</p><p>The item numbers in this list apply to the numbered boxes in the figure below.</p><div class="orderedlist"><ol type="1"><li><p>System operating normally</p></li><li><p>Master suffers a failure and disconnects all clients. Replica realises that it is no
+	      longer in contact with master. Clients begin to try to reconnect to the cluster, although these
+	      connection attempts will fail at this point.</p></li><li><p>A third-party (an operator, a script or a combination of the two) verifies that the master has truely
+           failed <span class="bold"><strong>and is no longer running</strong></span>. If it has truely failed, the decision is made
+           to designate the replica as primary, allowing it to assume the role of master despite the other node being down.
+           This primary designation is performed using <a class="link" href="Java-Broker-High-Availability-JMXAPI.html" title="12.8. Qpid JMX API for HA">JMX</a>.</p></li><li><p>Client connections to the new master succeed and the <span class="bold"><strong>service is restored
+	      </strong></span>, albeit without a replica.</p></li><li><p>The old master is repaired and brought back on-line.  It automatically rejoins the cluster
+	       in the <span class="bold"><strong>replica</strong></span> role.</p></li></ol></div><div class="figure"><a name="id2496808"></a><p class="title"><b>Figure 12.3. Failure of master and recovery sequence</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-MasterFail.png" alt="Failure of master and subsequent recovery sequence"></div></div></div><br class="figure-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Java-Broker-High-Availability-TwoNodeReplicaFailure"></a>12.3.2.3. Replica Failure and Recovery</h4></div></div></div><p>The figure that follows illustrates a sequence of events whereby the replica suffers a failure
+	   leaving the master to continue processing alone.  Later the replica is repaired and is restarted.
+	   It rejoins the cluster so that it is once again ready to take over in the event of master failure.</p><p>The behavior of the replica failure case is governed by the <code class="varname">designatedPrimary</code>
+        configuration item. If set true on the master, the master will continue to operate solo without outside
+        intervention when the replica fails. If false, a third-party must designate the master as primary in order
+        for it to continue solo.</p><p>The item numbers in this list apply to the numbered boxes in the figure below. This example assumes
+	   that <code class="varname">designatedPrimary</code> is true on the original master node.</p><div class="orderedlist"><ol type="1"><li><p>System operating normally</p></li><li><p>Replica suffers a failure. Master realises that replica longer in contact but as
+	      <code class="varname">designatedPrimary</code> is true, master continues processing solo and thus client
+	      connections are uninterrupted by the loss of the replica. System continues operating normally, albeit
+          with a single node.</p></li><li><p>Replica is repaired.</p></li><li><p>After catching up with missed work, replica is once again ready to take over in the event of master failure.</p></li></ol></div><div class="figure"><a name="id2501903"></a><p class="title"><b>Figure 12.4. Failure of replica and subsequent recovery sequence</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-ReplicaFail.png" alt="Failure of replica and subsequent recovery sequence"></div></div></div><br class="figure-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Java-Broker-High-Availability-TwoNodeNetworkPartition"></a>12.3.2.4. Network Partition and Recovery</h4></div></div></div><p>The figure below illustrates the sequence of events that would occur if the network between
+	  master and replica were to suffer a partition, and the nodes were out of contact with one and other.</p><p>As with <a class="link" href="Java-Broker-High-Availability-TwoNodeCluster.html#Java-Broker-High-Availability-TwoNodeReplicaFailure" title="12.3.2.3. Replica Failure and Recovery">Replica Failure and Recovery</a>, the
+	  behaviour is governed by the <code class="varname">designatedPrimary</code>.
+	  Only if <code class="varname">designatedPrimary</code> is true on the master, will the master continue solo.</p><p>The item numbers in this list apply to the numbered boxes in the figure below. This example assumes
+	   that <code class="varname">designatedPrimary</code> is true on the original master node.</p><div class="orderedlist"><ol type="1"><li><p>System operating normally</p></li><li><p>Network suffers a failure. Master realises that replica longer in contact but as
+	      <code class="varname">designatedPrimary</code> is true, master continues processing solo and thus client
+	      connections are uninterrupted by the network partition between master and replica.</p></li><li><p>Network is repaired.</p></li><li><p>After catching up with missed work, replica is once again ready to take over in the event of master failure.
+	    System operating normally again.</p></li></ol></div><div class="figure"><a name="id2502031"></a><p class="title"><b>Figure 12.5. Partition of the network separating master and replica</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-NetworkPartition.png" alt="Network Partition and Recovery"></div></div></div><br class="figure-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Java-Broker-High-Availability-TwoNodeSplitBrain"></a>12.3.2.5. Split Brain</h4></div></div></div><p>A <a class="ulink" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a>
+          is a situation where the two node cluster has two masters. BDB normally strives to prevent
+	  this situation arising by preventing two nodes in a cluster being master at the same time.
+	  However, if the network suffers a partition, and the third-party intervenes incorrectly
+	  and makes the replica a second master a split-brain will be formed and both masters will
+	  proceed to perform work  <span class="bold"><strong>independently</strong></span> of one and other.</p><p>There is no automatic recovery from a split-brain.</p><p>Manual intervention will be required to choose which store will be retained as master
+	  and which will be discarded.  Manual intervention will be required to identify and repeat the
+          lost business transactions.</p><p>The item numbers in this list apply to the numbered boxes in the figure below.</p><div class="orderedlist"><ol type="1"><li><p>System operating normally</p></li><li><p>Network suffers a failure. Master realises that replica longer in contact but as
+	      <code class="varname">designatedPrimary</code> is true, master continues processing solo.  Client
+	      connections are uninterrupted by the network partition.</p><p>A third-party <span class="bold"><strong>erroneously</strong></span> designates the replica as primary while the
+            original master continues running (now solo).</p></li><li><p>As the nodes cannot see one and other, both behave as masters. Clients may perform work against
+	      both master nodes.</p></li></ol></div><div class="figure"><a name="id2502165"></a><p class="title"><b>Figure 12.6. Split Brain</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/HA-2N-SplitBrain.png" alt="Split Brain"></div></div></div><br class="figure-break"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-High-Availability-OfferingsOfJavaBroker.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-MultiNodeCluster.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.2. HA offerings of the Java Broker </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.4.�
 �Multi Node Cluster</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-High-Availability.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,8 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 12. High Availability</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="prev" href="Java-Broker-Runtime-Disk-Space-Management.html" title="11.3. Disk Space Management"><link rel="next" href="Java-Broker-High-Availability-OfferingsOfJavaBroker.html" title="12.2. HA offerings of the Java Broker"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid
 .apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository
 </A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache
 </H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-node">High Availability</span></DIV><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability"></a>Chapter 12. High Availability</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="Java-Broker-High-Availability.html#Java-Broker-High-Availability-GeneralIntroduction">12.1. General Introdu
 ction</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-OfferingsOfJavaBroker.html">12.2. HA offerings of the Java Broker</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-TwoNodeCluster.html">12.3. Two Node Cluster</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-High-Availability-TwoNodeCluster.html#id2496523">12.3.1. Overview</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-TwoNodeCluster.html#id2496603">12.3.2. Depictions of cluster operation</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-High-Availability-MultiNodeCluster.html">12.4. Multi Node Cluster</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Configuration.html">12.5. Configuring a Virtual Host to be a node</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-High-Availability-Configuration.html#Java-Broker-High-Availability-Confi
 guration_BDBEnvVars">12.5.1. Passing BDB environment and replication configuration options</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-High-Availability-DurabilityGuarantee.html">12.6. Durability Guarantees</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-High-Availability-DurabilityGuarantee.html#Java-Broker-High-Availability-DurabilityGuarantee_BDBControls">12.6.1. BDB Durability Controls</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DurabilityGuarantee.html#Java-Broker-High-Availability-DurabilityGuarantee_CoalescingSync">12.6.2. Coalescing-sync</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DurabilityGuarantee.html#Java-Broker-High-Availability-DurabilityGuarantee_Default">12.6.3. Default</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DurabilityGuarantee.html#Java-Broker-High-Availability-DurabilityGuarantee_Examples">12.6.4
 . Examples</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-High-Availability-ClientFailover.html">12.7. Client failover configuration</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-JMXAPI.html">12.8. Qpid JMX API for HA</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Monitoring-cluster.html">12.9. Monitoring cluster</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DiskSpace.html">12.10. Disk space requirements</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Network-Requirements.html">12.11. Network Requirements</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Security.html">12.12. Security</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Backup.html">12.13. Backups</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-MigrationFromNonHA.ht
 ml">12.14. Migration of a non-HA store to HA</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DisasterRecovery.html">12.15. Disaster Recovery</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Performance.html">12.16. Performance</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-High-Availability-GeneralIntroduction"></a>12.1. General Introduction</h2></div></div></div><p>The term High Availability (HA) usually refers to having a number of instances of a service such as a Message Broker
+      available so that should a service unexpectedly fail, or requires to be shutdown for maintenance, users may quickly connect
+      to another instance and continue their work with minimal interuption. HA is one way to make a overall system more resilient
+      by eliminating a single point of failure from a system.</p><p>HA offerings are usually categorised as <span class="bold"><strong>Active/Active</strong></span> or <span class="bold"><strong>Active/Passive</strong></span>.
+      An Active/Active system is one where all nodes within the cluster are usuaully available for use by clients all of the time.  In an
+      Active/Passive system, one only node within the cluster is available for use by clients at any one time, whilst the others are in
+      some kind of standby state, awaiting to quickly step-in in the event the active node becomes unavailable.
+    </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Runtime-Disk-Space-Management.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-High-Availability-OfferingsOfJavaBroker.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">11.3. Disk Space Management </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 12.2. HA offerings of the Java Broker</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-Download.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-Download.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-Download.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-Download.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,6 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>2.3. Download</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-Installation.html" title="Chapter 2. Installation"><link rel="prev" href="Java-Broker-Installation-Prerequistes.html" title="2.2. Prerequisites"><link rel="next" href="Java-Broker-Installation-InstallationWindows.html" title="2.4. Installation on Windows"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home
 </A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http:/
 /qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http:/
 /www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-Installation.html">Installation</a></span> &gt; <span class="breadcrumb-node">Download</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-Installation-Download"></a>2.3. Download</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Java-Broker-Installation-Download-Release"></a>2.3.1.�
 �Broker Release</h3></div></div></div><p>You can download the latest qpid-java-broker-0.21.tar.gz package from the <a class="ulink" href="http://qpid.apache.org/download.html" target="_top">Download Page</a>.
+      </p><p> It is recommended that you confirm the integrity of the download by verifying the PGP signature
+        matches that available on the site. Instrutions are given on the download page.
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Java-Broker-Installation-Download-OptionalDependencies"></a>2.3.2. Optional Dependencies</h3></div></div></div><p>The broker has an optional message store implementations backed by Oracle BDB JE. If you wish to use these
+        stores you will need to provide the optional Oracle BDB JE dependency. For more details, see <a class="xref" href="Java-Broker-Stores-BDB-Store.html" title="8.4. BDB Store">Section 8.4, “BDB Store”</a>
+      </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-Prerequistes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Installation-InstallationWindows.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Prerequisites </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.4. Installation on Windows</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-InstallationUnix.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-InstallationUnix.html?rev=1413417&view=auto
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-InstallationUnix.html (added)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/Java-Broker-Installation-InstallationUnix.html Sun Nov 25 21:04:37 2012
@@ -0,0 +1,26 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>2.5. Installation on UNIX platforms</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="AMQP Messaging Broker (Java)"><link rel="up" href="Java-Broker-Installation.html" title="Chapter 2. Installation"><link rel="prev" href="Java-Broker-Installation-InstallationWindows.html" title="2.4. Installation on Windows"><link rel="next" href="Java-Broker-Getting-Started.html" title="Chapter 3. Getting Started"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apac
 he.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">Latest Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A><
 /LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3>
 <UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">AMQP Messaging Broker (Java)</a></span> &gt; <span class="breadcrumb-link"><a href="Java-Broker-Installation.html">Installation</a></span> &gt; <span class="breadcrumb-node">Installation on UNIX platforms</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Java-Broker-Installation-InstallationUnix"></a>2.5. Installation on UNIX platforms</h2></div></div></div><p>
+      Firstly, verify that your JVM is installed properly by following
+      <a class="link" href="Java-Broker-Miscellaneous.html#Java-Broker-Miscellaneous-JVM-Verification-Unix" title="13.1.2. Verify JVM on Windows">these instructions.</a>
+    </p><p>Now chose a directory for Qpid broker installation.  This directory will be used for the Qpid JARs and configuration files.
+      It need not be the same location as the store used for the persistent messages or the log file (you will chose this
+      location later).   For the remainder this example we will assumed that location /usr/local/qpid has been chosen.</p><p>Extract the Qpid package qpid-java-broker-0.21.tar.gz into the directory.</p><pre class="programlisting">mkdir /usr/local/qpid
+cd /usr/local/qpid
+tar xvzf qpid-java-broker-0.21.tar.gz&gt;</pre><p>The extraction of the Qpid package will have created a directory qpid-broker-x.x</p><pre class="screen">ls -la qpid-broker-0.21/
+total 152
+drwxr-xr-x   8 qpid  qpid    272 25 Jul 23:22 .
+drwxr-xr-x  45 qpid  qpid   1530 30 Sep 10:51 ..
+-rw-r--r--@  1 qpid  qpid  65925 20 Jul 20:10 LICENSE
+-rw-r--r--@  1 qpid  qpid   3858 20 Jul 20:10 NOTICE
+-rw-r--r--@  1 qpid  qpid   1346 20 Jul 20:10 README.txt
+drwxr-xr-x  10 qpid  qpid    340 30 Sep 00:24 bin
+drwxr-xr-x   9 qpid  qpid    306 21 Aug 23:17 etc
+drwxr-xr-x  34 qpid  qpid   1156 25 Jul 23:22 lib
+    </pre><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK"></a>2.5.1. Setting the working directory</h3></div></div></div><p>Qpid requires a work directory.  This directory is used for the default location of the Qpid log
+        file and is used for the storage of persistent messages.  The work directory can be set on the
+        command-line (for the lifetime of the current shell), but you will normally want to set
+        the environment variable permanently the user's shell profile file (~/.bash_profile for Bash etc).</p><pre class="screen">export QPID_WORK=/var/qpidwork
+      </pre><p>If the directory referred to by QPID_WORK does not exist, the Java Broker will attempt to create it
+         on start-up.
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Java-Broker-Installation-InstallationUnix-OptionalDependencies"></a>2.5.2. Optional Dependencies</h3></div></div></div><p>The broker has an optional message store implementations backed by Oracle BDB JE. If you wish to use these
+        stores you will need to provide the optional Oracle BDB JE dependency. For more details, see <a class="xref" href="Java-Broker-Stores-BDB-Store.html" title="8.4. BDB Store">Section 8.4, “BDB Store”</a>
+      </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Installation-InstallationWindows.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Installation.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Getting-Started.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Installation on Windows </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Getting Started</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org