mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 09:36:24 +00:00
336 lines
15 KiB
HTML
336 lines
15 KiB
HTML
|
<?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>Chapter 11. Replication Methods</title>
|
|||
|
<link rel="stylesheet" href="apiReference.css" type="text/css" />
|
|||
|
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
|||
|
<link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
|
|||
|
<link rel="up" href="index.html" title="Berkeley DB C++ API Reference" />
|
|||
|
<link rel="prev" href="mutexunlock.html" title="DbEnv::mutex_unlock()" />
|
|||
|
<link rel="next" href="db_site.html" title="The DbSite Handle" />
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<div xmlns="" class="navheader">
|
|||
|
<div class="libver">
|
|||
|
<p>Library Version 11.2.5.2</p>
|
|||
|
</div>
|
|||
|
<table width="100%" summary="Navigation header">
|
|||
|
<tr>
|
|||
|
<th colspan="3" align="center">Chapter 11.
|
|||
|
Replication Methods
|
|||
|
</th>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td width="20%" align="left"><a accesskey="p" href="mutexunlock.html">Prev</a> </td>
|
|||
|
<th width="60%" align="center"> </th>
|
|||
|
<td width="20%" align="right"> <a accesskey="n" href="db_site.html">Next</a></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
<hr />
|
|||
|
</div>
|
|||
|
<div class="chapter" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h2 class="title"><a id="rep"></a>Chapter 11.
|
|||
|
Replication Methods
|
|||
|
</h2>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<p>
|
|||
|
This chapter describes the APIs available to build Berkeley DB replicated
|
|||
|
applications. There are two different ways to build replication into a Berkeley DB
|
|||
|
application, and the APIs for both are described in this chapter.
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
For an overview of the two different ways to build a replicated
|
|||
|
application, see the <em class="citetitle">Berkeley DB Getting Started with Replicated Applications</em> guide.
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
The first, and simplest, way to build a replication Berkeley DB application is via
|
|||
|
the <span class="emphasis"><em>Replication Manager</em></span>. If the Replication Manager does not
|
|||
|
meet your application's architectural requirements, you can write your own
|
|||
|
replication implementation using the "Base APIs".
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
Note that the Replication Manager is written using the Base APIs.
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
Note, also, that applications which make use of the Replication Manager
|
|||
|
use many of the Base APIs as the situation warrants. That said,
|
|||
|
a few Base API methods cannot be used by applications that
|
|||
|
are making use of the Replication Manager. Where this is
|
|||
|
the case, this is noted in the following method
|
|||
|
descriptions.
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
Finally, Replication Manager applications use the
|
|||
|
<a class="link" href="db_site.html" title="The DbSite Handle">DbSite</a> class to manage
|
|||
|
and configure replication sites. This handle is not used in any
|
|||
|
way by Base API applications.
|
|||
|
</p>
|
|||
|
<div class="sect1" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h2 class="title" style="clear: both"><a id="replist"></a>Replication and Related Methods</h2>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="navtable">
|
|||
|
<table border="1" width="80%">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th>Replication Manager Methods</th>
|
|||
|
<th>Description</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbchannel_close.html" title="DbChannel::close()">DbChannel::close()</a>
|
|||
|
</td>
|
|||
|
<td>Closes a DB_CHANNEL handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbchannel_send_msg.html" title="DbChannel::send_msg()">DbChannel::send_msg()</a>
|
|||
|
</td>
|
|||
|
<td>Sends an asynchronous message on a DB_CHANNEL</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbchannel_send_request.html" title="DbChannel::send_request()">DbChannel::send_request()</a>
|
|||
|
</td>
|
|||
|
<td>Sends a synchronous message on a DB_CHANNEL</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbchannel_set_timeout.html" title="DbChannel::set_timeout()">DbChannel::set_timeout()</a>
|
|||
|
</td>
|
|||
|
<td>Sets the default timeout for the DB_CHANNEL</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgr_channel.html" title="DbEnv::repmgr_channel()">DbEnv::repmgr_channel()</a>
|
|||
|
</td>
|
|||
|
<td>Creates a DB_CHANNEL handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgr_local_site.html" title="DbEnv::repmgr_local_site()">DbEnv::repmgr_local_site()</a>
|
|||
|
</td>
|
|||
|
<td>Returns a DB_SITE handle for the local site</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgr_msg_dispatch.html" title="DbEnv::repmgr_msg_dispatch()">DbEnv::repmgr_msg_dispatch()</a>
|
|||
|
</td>
|
|||
|
<td>Creates a DB_CHANNEL handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repmgrset_ack_policy.html" title="DbEnv::repmgr_set_ack_policy()">DbEnv::repmgr_set_ack_policy()</a>, <a class="xref" href="repmgrget_ack_policy.html" title="DbEnv::repmgr_get_ack_policy()">DbEnv::repmgr_get_ack_policy()</a></td>
|
|||
|
<td>Specify the Replication Manager's client acknowledgement policy</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgr_site.html" title="DbEnv::repmgr_site()">DbEnv::repmgr_site()</a>
|
|||
|
</td>
|
|||
|
<td>Creates a DB_SITE handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgr_site_by_eid.html" title="DbEnv::repmgr_site_by_eid()">DbEnv::repmgr_site_by_eid()</a>
|
|||
|
</td>
|
|||
|
<td>Creates a DB_SITE handle given an EID value</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgrsite_list.html" title="DbEnv::repmgr_site_list()">DbEnv::repmgr_site_list()</a>
|
|||
|
</td>
|
|||
|
<td>List the sites and their status</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgrstart.html" title="DbEnv::repmgr_start()">DbEnv::repmgr_start()</a>
|
|||
|
</td>
|
|||
|
<td>Start the Replication Manager</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgrstat.html" title="DbEnv::repmgr_stat()">DbEnv::repmgr_stat()</a>
|
|||
|
</td>
|
|||
|
<td>Replication Manager statistics</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmgrstat_print.html" title="DbEnv::repmgr_stat_print()">DbEnv::repmgr_stat_print()</a>
|
|||
|
</td>
|
|||
|
<td>Print Replication Manager statistics</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td colspan="2">
|
|||
|
<span class="bold">
|
|||
|
<strong>Base API Methods</strong>
|
|||
|
</span>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repelect.html" title="DbEnv::rep_elect()">DbEnv::rep_elect()</a>
|
|||
|
</td>
|
|||
|
<td>Hold a replication election</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repmessage.html" title="DbEnv::rep_process_message()">DbEnv::rep_process_message()</a>
|
|||
|
</td>
|
|||
|
<td>Process a replication message</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="reptransport.html" title="DbEnv::rep_set_transport()">DbEnv::rep_set_transport()</a>
|
|||
|
</td>
|
|||
|
<td>Configure replication transport callback</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repstart.html" title="DbEnv::rep_start()">DbEnv::rep_start()</a>
|
|||
|
</td>
|
|||
|
<td>Start replication</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td colspan="2">
|
|||
|
<span class="bold">
|
|||
|
<strong>Additional Replication Methods</strong>
|
|||
|
</span>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repstat.html" title="DbEnv::rep_stat()">DbEnv::rep_stat()</a>
|
|||
|
</td>
|
|||
|
<td>Replication statistics</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repstat_print.html" title="DbEnv::rep_stat_print()">DbEnv::rep_stat_print()</a>
|
|||
|
</td>
|
|||
|
<td>Print replication statistics</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="repsync.html" title="DbEnv::rep_sync()">DbEnv::rep_sync()</a>
|
|||
|
</td>
|
|||
|
<td>Replication synchronization</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="envtxn_applied.html" title="DbEnv::txn_applied()">DbEnv::txn_applied()</a>
|
|||
|
</td>
|
|||
|
<td>Check if a transaction has been replicated</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td colspan="2">
|
|||
|
<span class="bold">
|
|||
|
<strong>Replication Configuration</strong>
|
|||
|
</span>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbsite_close.html" title="DbSite::close()">DbSite::close()</a>
|
|||
|
</td>
|
|||
|
<td>Closes the DB_SITE handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbsite_get_address.html" title="DbSite::get_address()">DbSite::get_address()</a>
|
|||
|
</td>
|
|||
|
<td>Returns a site's network address</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbsite_get_eid.html" title="DbSite::get_eid()">DbSite::get_eid()</a>
|
|||
|
</td>
|
|||
|
<td>Returns a site's Environment ID</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="dbsite_remove.html" title="DbSite::remove()">DbSite::remove()</a>
|
|||
|
</td>
|
|||
|
<td>Removes the site from the replication group</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="dbsite_set_config.html" title="DbSite::set_config()">DbSite::set_config()</a>, <a class="xref" href="dbsite_get_config.html" title="DbSite::get_config()">DbSite::get_config()</a></td>
|
|||
|
<td>Configure a DB_SITE handle</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repclockskew.html" title="DbEnv::rep_set_clockskew()">DbEnv::rep_set_clockskew()</a>, <a class="xref" href="repget_clockskew.html" title="DbEnv::rep_get_clockskew()">DbEnv::rep_get_clockskew()</a></td>
|
|||
|
<td>Configure master lease clock adjustment</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repconfig.html" title="DbEnv::rep_set_config()">DbEnv::rep_set_config()</a>, <a class="xref" href="repget_config.html" title="DbEnv::rep_get_config()">DbEnv::rep_get_config()</a></td>
|
|||
|
<td>Configure the replication subsystem</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repset_limit.html" title="DbEnv::rep_set_limit()">DbEnv::rep_set_limit()</a>, <a class="xref" href="repget_limit.html" title="DbEnv::rep_get_limit()">DbEnv::rep_get_limit()</a></td>
|
|||
|
<td>Limit data sent in response to a single message</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repnsites.html" title="DbEnv::rep_set_nsites()">DbEnv::rep_set_nsites()</a>, <a class="xref" href="repget_nsites.html" title="DbEnv::rep_get_nsites()">DbEnv::rep_get_nsites()</a></td>
|
|||
|
<td>Configure replication group site count</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="reppriority.html" title="DbEnv::rep_set_priority()">DbEnv::rep_set_priority()</a>, <a class="xref" href="repget_priority.html" title="DbEnv::rep_get_priority()">DbEnv::rep_get_priority()</a></td>
|
|||
|
<td>Configure replication site priority</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repset_request.html" title="DbEnv::rep_set_request()">DbEnv::rep_set_request()</a>, <a class="xref" href="repget_request.html" title="DbEnv::rep_get_request()">DbEnv::rep_get_request()</a></td>
|
|||
|
<td>Configure replication client retransmission requests</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><a class="xref" href="repset_timeout.html" title="DbEnv::rep_set_timeout()">DbEnv::rep_set_timeout()</a>, <a class="xref" href="repget_timeout.html" title="DbEnv::rep_get_timeout()">DbEnv::rep_get_timeout()</a></td>
|
|||
|
<td>Configure replication timeouts</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td colspan="2">
|
|||
|
<span class="bold">
|
|||
|
<strong>Transaction Operations</strong>
|
|||
|
</span>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>
|
|||
|
<a class="xref" href="txnset_commit_token.html" title="DbTxn::set_commit_token()">DbTxn::set_commit_token()</a>
|
|||
|
</td>
|
|||
|
<td>Set a commit token</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="navfooter">
|
|||
|
<hr />
|
|||
|
<table width="100%" summary="Navigation footer">
|
|||
|
<tr>
|
|||
|
<td width="40%" align="left"><a accesskey="p" href="mutexunlock.html">Prev</a> </td>
|
|||
|
<td width="20%" align="center"> </td>
|
|||
|
<td width="40%" align="right"> <a accesskey="n" href="db_site.html">Next</a></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td width="40%" align="left" valign="top">DbEnv::mutex_unlock() </td>
|
|||
|
<td width="20%" align="center">
|
|||
|
<a accesskey="h" href="index.html">Home</a>
|
|||
|
</td>
|
|||
|
<td width="40%" align="right" valign="top"> The DbSite Handle</td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
</html>
|