diff options
| author | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-07-20 20:00:05 +0100 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-07-20 20:00:05 +0100 |
| commit | 3ef782d3745ea8f25a3151561a3cfb882190210e (patch) | |
| tree | 86b9c2f5fde051dd0bced99b3fc9f5a3ba08db69 /docs/programmer_reference/rep_mgr_meth.html | |
| download | berkeleydb-3ef782d3745ea8f25a3151561a3cfb882190210e.tar.gz | |
Tarball conversion
Diffstat (limited to 'docs/programmer_reference/rep_mgr_meth.html')
| -rw-r--r-- | docs/programmer_reference/rep_mgr_meth.html | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/docs/programmer_reference/rep_mgr_meth.html b/docs/programmer_reference/rep_mgr_meth.html new file mode 100644 index 00000000..24cd6ae9 --- /dev/null +++ b/docs/programmer_reference/rep_mgr_meth.html @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Replication Manager methods</title> + <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> + <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> + <link rel="up" href="rep.html" title="Chapter 12. Berkeley DB Replication" /> + <link rel="prev" href="rep_app.html" title="Building replicated applications" /> + <link rel="next" href="rep_base_meth.html" title="Base API Methods" /> + </head> + <body> + <div xmlns="" class="navheader"> + <div class="libver"> + <p>Library Version 11.2.5.3</p> + </div> + <table width="100%" summary="Navigation header"> + <tr> + <th colspan="3" align="center">Replication Manager methods</th> + </tr> + <tr> + <td width="20%" align="left"><a accesskey="p" href="rep_app.html">Prev</a> </td> + <th width="60%" align="center">Chapter 12. + Berkeley DB Replication + </th> + <td width="20%" align="right"> <a accesskey="n" href="rep_base_meth.html">Next</a></td> + </tr> + </table> + <hr /> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <div class="titlepage"> + <div> + <div> + <h2 class="title" style="clear: both"><a id="rep_mgr_meth"></a>Replication Manager methods</h2> + </div> + </div> + </div> + <p> + Applications which use the Replication Manager support generally + call the following Berkeley DB methods. The general pattern is to + call various methods to configure Replication Manager, and then + start it by calling <a href="../api_reference/C/repmgrstart.html" class="olink">DB_ENV->repmgr_start()</a>. Once this initialization is + complete, the application rarely needs to call any of these + methods. (A prime example of an exception to this rule would be + the <a href="../api_reference/C/repsync.html" class="olink">DB_ENV->rep_sync()</a> method, if the application is + <a class="xref" href="rep_mastersync.html#rep_delay_sync" title="Delaying client synchronization">Delaying client synchronization</a>.) + </p> + <div class="variablelist"> + <dl> + <dt> + <span class="term"> + <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> + </span> + </dt> + <dd> + <p> + The <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle is used to configure a site that + belongs to the replication group. You can obtain a <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> + handle by calling the <a href="../api_reference/C/repmgr_site.html" class="olink">DB_ENV->repmgr_site()</a> method. When you do this, you + provide the TCP/IP host name and port that the replication + site uses for incoming connections. + </p> + <p> + Once you have the <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle, you use the + <a href="../api_reference/C/dbsite_set_config.html" class="olink">DB_SITE->set_config()</a> method to configure the handle. One of + the things you can configure about the handle is whether it + is the local site (using the <code class="literal">DB_LOCAL_SITE</code> + parameter). You must configure one and only one <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handle + to be a local site before you start replication. + </p> + <p> + You can also optionally configure <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handles for + remote sites to help Replication Manager startup more + efficiently. Note that it is usually not necessary for + each site in the replication group initially to know about + all other sites in the group. Sites can discover each + other dynamically, as described in + <a class="xref" href="rep_newsite.html" title="Connecting to a new site">Connecting to a new site</a>. + </p> + <p> + Once you have configured your <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handles, you start + replication using <a href="../api_reference/C/repmgrstart.html" class="olink">DB_ENV->repmgr_start()</a>. + </p> + <p> + When you are shutting down your application, you must + use the <a href="../api_reference/C/dbsite_close.html" class="olink">DB_SITE->close()</a> method to close + all your open <a href="../api_reference/C/db_site.html" class="olink">DB_SITE</a> handles before you close your + environment handles. + </p> + </dd> + <dt> + <span class="term"> + <a href="../api_reference/C/repmgrset_ack_policy.html" class="olink">DB_ENV->repmgr_set_ack_policy()</a> + </span> + </dt> + <dd> + <p> + The <a href="../api_reference/C/repmgrset_ack_policy.html" class="olink">DB_ENV->repmgr_set_ack_policy()</a> method configures the acknowledgement + policy to be used in the replication group, in other words, the + behavior of the master with respect to acknowledgements for + "permanent" messages, which implements the application's + requirements for <a class="xref" href="rep_trans.html" title="Transactional guarantees">Transactional guarantees</a>. The current implementation + requires all sites in the replication group to configure the same + acknowledgement policy. + </p> + </dd> + <dt> + <span class="term"> + <a href="../api_reference/C/reppriority.html" class="olink">DB_ENV->rep_set_priority()</a> + </span> + </dt> + <dd> + <p> + The <a href="../api_reference/C/reppriority.html" class="olink">DB_ENV->rep_set_priority()</a> method configures the local site's priority + for the purpose of elections. + </p> + </dd> + <dt> + <span class="term"> + <a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV->rep_set_timeout()</a> + </span> + </dt> + <dd> + <p> + This method optionally configures various timeout values. + Otherwise default timeout values as specified in <a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV->rep_set_timeout()</a> + are used. In particular, Replication Manager client sites can + be configured to monitor the health of the TCP/IP connection to + the master site using heartbeat messages. If the client + receives no messages from the master for a certain amount of + time, it considers the connection to be broken, and calls for + an election to choose a new master. Heartbeat messages + also help clients request missing master changes in the + absence of master activity. + </p> + </dd> + <dt> + <span class="term"> + <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV->set_event_notify()</a> + </span> + </dt> + <dd> + <p> + Once configured and started, Replication Manager does virtually + all of its work in the background, usually without the need for + any direct communication with the application. However, + occasionally events occur which the application may be + interested in knowing about. The application can request + notification of these events by calling the <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV->set_event_notify()</a> + method. + </p> + </dd> + <dt> + <span class="term"> + <a href="../api_reference/C/repmgrstart.html" class="olink">DB_ENV->repmgr_start()</a> + </span> + </dt> + <dd> + <p> + The <a href="../api_reference/C/repmgrstart.html" class="olink">DB_ENV->repmgr_start()</a> method starts the replication system. It + opens the listening TCP/IP socket and creates all the + background processing threads that will be needed. + </p> + </dd> + </dl> + </div> + <p> + In addition to the methods previously described, Replication Manager + applications may also call the following methods, as needed: + <a href="../api_reference/C/repconfig.html" class="olink">DB_ENV->rep_set_config()</a>, <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV->rep_set_limit()</a>, <a href="../api_reference/C/repset_request.html" class="olink">DB_ENV->rep_set_request()</a>, <a href="../api_reference/C/repsync.html" class="olink">DB_ENV->rep_sync()</a> and <a href="../api_reference/C/repstat.html" class="olink">DB_ENV->rep_stat()</a>. + </p> + <p> + Finally, Replication Manager applications can also make use of the + Replication Manager's message channels. This allows the various + sites in the replication group to pass messages that are tailored + to the application's requirements. For more information, see + <a class="xref" href="repmgr_channels.html" title="Using Replication Manager message channels">Using Replication Manager message channels</a>. + </p> + </div> + <div class="navfooter"> + <hr /> + <table width="100%" summary="Navigation footer"> + <tr> + <td width="40%" align="left"><a accesskey="p" href="rep_app.html">Prev</a> </td> + <td width="20%" align="center"> + <a accesskey="u" href="rep.html">Up</a> + </td> + <td width="40%" align="right"> <a accesskey="n" href="rep_base_meth.html">Next</a></td> + </tr> + <tr> + <td width="40%" align="left" valign="top">Building replicated applications </td> + <td width="20%" align="center"> + <a accesskey="h" href="index.html">Home</a> + </td> + <td width="40%" align="right" valign="top"> Base API Methods</td> + </tr> + </table> + </div> + </body> +</html> |
