blob: 0a627ca83ccd0583c14278318dfb12f669e3a73a [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
<!-- Use title if it's in the page YAML frontmatter -->
<title>
Overview of Multi-site Caching |
Geode Docs
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
<link href="/stylesheets/print.css" rel="stylesheet" media="print" />
<link href='/images/favicon.ico' rel='shortcut icon'>
<script src="/javascripts/all.js"></script>
</head>
<body class="docs docs_guide docs_guide_115 docs_guide_115_topologies_and_comm docs_guide_115_topologies_and_comm_topology_concepts docs_guide_115_topologies_and_comm_topology_concepts_multisite_overview has-subnav">
<div class="viewport">
<div class='wrap'>
<script type="text/javascript">
document.domain = "apache.org";
</script>
<header class="header header-layout">
<h1 class="logo">
<a href="/">Apache Geode Documentation</a>
</h1>
<div class="header-links js-bar-links">
<div class="btn-menu" data-behavior="MenuMobile"></div>
<div class="header-item"><a href="http://geode.apache.org/">Back to Geode Page</a></div>
<div class="header-item">
<a href="http://geode.apache.org/community" target="_blank">Community</a>
</div>
</div>
</header>
<div class="container">
<!--googleoff: index-->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
<a class="sidenav-title" data-behavior="SubMenuMobile">
Doc Index
</a>
<div class="nav-content">
<ul>
<li>
<a href="/docs/guide/115/about_geode.html">Apache Geode Documentation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/getting_started/book_intro.html">Getting Started with Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/115/getting_started/geode_overview.html">About Apache Geode</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/product_intro.html">Main Features of Apache Geode</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/prereq_and_install.html">Prerequisites and Installation Instructions</a>
<ul>
<li>
<a href="/docs/guide/115/getting_started/system_requirements/host_machine.html">Host Machine Requirements</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/system_requirements/java_support.html">Java Support</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/installation/install_standalone.html">How to Install</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/setup_classpath.html">Setting Up the CLASSPATH</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/uninstall_geode.html">How to Uninstall</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/getting_started/upgrade/upgrade_overview.html">Upgrading Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/115/getting_started/upgrade/upgrade_planning.html">Planning an Upgrade</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/upgrade/upgrade_rolling.html">Rolling Upgrade</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/upgrade/upgrade_offline.html">Offline Upgrade</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/upgrade/upgrade_clients.html">Upgrading Clients</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/getting_started/15_minute_quickstart_gfsh.html">Apache Geode in 15 Minutes or Less</a>
</li>
<li>
<a href="/docs/guide/115/getting_started/intro_to_clients.html">Introduction to Geode Clients</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/configuring/chapter_overview.html">Configuring and Running a Cluster</a>
<ul>
<li>
<a href="/docs/guide/115/configuring/cluster_config/gfsh_persist.html">Overview of the Cluster Configuration Service</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/persisting_configurations.html">Tutorial—Creating and Using a Cluster Configuration</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/deploying_application_jars.html">Deploying Application JARs to Apache Geode Members</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/using_member_groups.html">Using Member Groups</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/export-import.html">Exporting and Importing Cluster Configurations</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/gfsh_config_troubleshooting.html">Cluster Configuration Files and Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/115/configuring/cluster_config/gfsh_remote.html">Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/configuring/running/deploying_config_files.html">Deploying Configuration Files without the Cluster Configuration Service</a>
<ul>
<li>
<a href="/docs/guide/115/configuring/running/deploy_config_files_intro.html">Main Steps to Deploying Configuration Files</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/default_file_specs.html">Default File Specifications and Search Locations</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/change_file_spec.html">Changing the File Specifications</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/deploying_config_jar_files.html">Deploying Configuration Files in JAR Files</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/configuring/running/starting_up_shutting_down.html">Starting Up and Shutting Down Your System</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/running_the_locator.html">Running Geode Locator Processes</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/running_the_cacheserver.html">Running Geode Server Processes</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/managing_output_files.html">Managing System Output Files</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/configuring/running/firewall_ports_config.html">Firewall Considerations</a>
<ul>
<li>
<a href="/docs/guide/115/configuring/running/firewalls_connections.html">Firewalls and Connections</a>
</li>
<li>
<a href="/docs/guide/115/configuring/running/firewalls_ports.html">Firewalls and Ports</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/configuring/running/cluster-management-service.html">Cluster Management Service (Experimental)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/basic_config/book_intro.html">Basic Configuration and Programming</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/basic_config/config_concepts/chapter_overview.html">
Cluster and Cache Configuration</a>
<ul>
<li>
<a href="/docs/guide/115/basic_config/config_concepts/distributed_system_member_configuration.html">Cluster Members</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/gemfire_properties/setting_distributed_properties.html">Setting Properties</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/setting_cache_properties.html">Options for Configuring the Cache and Data Regions
</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/config_concepts/local_vs_remote.html">Local and Remote Membership and Caching</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/basic_config/the_cache/chapter_overview.html">Cache Management</a>
<ul>
<li>
<a href="/docs/guide/115/basic_config/the_cache/intro_cache_management.html">Introduction to Cache Management</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/managing_a_peer_server_cache.html">Managing a Peer or Server Cache</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/managing_a_client_cache.html">Managing a Client Cache</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/managing_a_secure_cache.html">Managing a Cache in a Secure System</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/managing_a_multiuser_cache.html">Managing RegionServices for Multiple Secure Users</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/the_cache/setting_cache_initializer.html">Launching an Application after Initializing the Cache</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/basic_config/data_regions/chapter_overview.html">Data Regions</a>
<ul>
<li>
<a href="/docs/guide/115/basic_config/data_regions/managing_data_regions.html">Region Management</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/region_naming.html">Region Naming</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/region_shortcuts.html">Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/store_retrieve_region_shortcuts.html">Storing and Retrieving Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/managing_region_attributes.html">Managing Region Attributes</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/creating_custom_attributes.html">Creating Custom Attributes for Regions and Entries</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_regions/new_region_existing_data.html">Building a New Region with Existing Content</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/basic_config/data_entries_custom_classes/chapter_overview.html">
Data Entries
</a>
<ul>
<li>
<a href="/docs/guide/115/basic_config/data_entries_custom_classes/managing_data_entries.html">Managing Data Entries</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_entries_custom_classes/copy_on_read.html">Copy on Read Behavior</a>
</li>
<li>
<a href="/docs/guide/115/basic_config/data_entries_custom_classes/using_custom_classes.html">Requirements for Using Custom Classes in Data Caching</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/book_intro.html">Topologies and Communication</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/chapter_overview.html">Topology and Communication General Concepts</a>
<ul>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/topology_types.html">Topology Types</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/member_communication.html">Planning Topology and Communication
</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/how_member_discovery_works.html">How Member Discovery Works</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/how_communication_works.html">How Communication Works</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/using_bind_addresses.html">Using Bind Addresses</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html">Choosing Between IPv4 and IPv6</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/p2p_configuration/chapter_overview.html">Peer-to-Peer Configuration</a>
<ul>
<li>
<a href="/docs/guide/115/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html">Configuring Peer-to-Peer Discovery</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html">Configuring Peer Communication</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html">Organizing Peers into Logical Member Groups</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/chapter_overview.html">Client/Server Configuration</a>
<ul>
<li>
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/standard_client_server_deployment.html">Standard Client/Server Deployment</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/how_server_discovery_works.html">How Server Discovery Works</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html">How Client/Server Connections Work</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html">Configuring a Client/Server System</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html">Organizing Servers Into Logical Member Groups</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/client_server_example_configurations.html">Client/Server Example Configurations</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/cs_configuration/client_server_whats_next.html">Fine-Tuning Your Client/Server Configuration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/multi_site_configuration/chapter_overview.html">Multi-site (WAN) Configuration</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/how_multisite_systems_work.html">How Multi-site (WAN) Systems Work</a>
<ul>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_70045702D3994BC692E75102CE01BD7C">
Overview of Multi-site Caching</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_C74A0961937640B199396DC925D8D782">Consistency for WAN Updates</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_1742957C8D4B4F7590847EB8DB6CD4F7">Discovery for Multi-Site Systems</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_9AA37B43642D4DE19072CA3367C849BA">Gateway Senders</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_4DB3D9CF01AD4F4899457D1250468D00">Gateway Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/multi_site_configuration/multisite_topologies.html">Multi-site (WAN) Topologies</a>
</li>
<li>
<a href="/docs/guide/115/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html">Configuring a Multi-site (WAN) System</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/filtering_multisite_events.html">Filtering Events for Multi-Site (WAN) Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/resolving_multisite_conflicts.html">Resolving Conflicting Events</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/book_intro.html">Managing Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/management_and_monitoring.html">Apache Geode Management and Monitoring</a>
<ul>
<li>
<a href="/docs/guide/115/managing/management/management_and_monitoring_features.html">Management and Monitoring Features</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/mm_overview.html">Overview of Geode Management and Monitoring Tools</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/management_system_overview.html">
Architecture and Components</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/jmx_manager_node.html">JMX Manager Operations</a>
<ul>
<li>
<a href="/docs/guide/115/managing/management/jmx_manager_operations.html">Starting a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Configuring a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/jmx_manager_operations.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Stopping a JMX Manager</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/mbean_architecture.html">Federated MBean Architecture</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/list_of_mbeans.html">List of Geode JMX MBeans</a>
<ul>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbeans_full.html">JMX Manager MBeans</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413">Managed Node MBeans</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/management/mbeans_jconsole.html">Browsing Geode MBeans through JConsole</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/mbean_notifications.html">Geode JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/115/managing/management/notification_federation_and_alerts.html">Notification Federation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/management/list_of_mbean_notifications.html">List of JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbean_notifications.html#reference_czt_hq2_vj">MemberMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbean_notifications.html#reference_dzt_hq2_vj">MemberMXBean Gateway Notifications</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbean_notifications.html#cacheservermxbean_notifications">CacheServerMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/list_of_mbean_notifications.html#distributedsystemmxbean_notifications">DistributedSystemMXBean Notifications</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/management/configuring_rmi_connector.html">Configuring RMI Registry Ports and RMI Connectors</a>
</li>
<li>
<a href="/docs/guide/115/managing/management/gfsh_and_management_api.html">Executing gfsh Commands through the Management API</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/heap_use/heap_and_off_heap_management.html">Managing Heap and Off-heap Memory</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/managing/heap_use/heap_management.html">Managing Heap Memory</a>
<ul>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#how_the_resource_manager_works">Using the Geode Resource Manager</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#how_the_resource_manager_works__section_EA5E52E65923486488A71E3E6F0DE9DA">How Background Eviction Is Performed</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#configuring_resource_manager_controlling_heap_use">Controlling Heap Use with the Resource Manager</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#configuring_resource_manager__section_4949882892DA46F6BB8588FA97037F45">Configure Geode for Heap LRU Management</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#tuning_jvm_gc_parameters">Tuning the JVM's Garbage Collection Parameters</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#configuring_resource_manager__section_DE1CC494C2B547B083AA00821250972A">Monitor and Tune Heap LRU Configurations</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/heap_management.html#resource_manager_example_configurations">Resource Manager Example Configurations</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/off_heap_management.html">Managing Off-Heap Memory</a>
</li>
<li>
<a href="/docs/guide/115/managing/heap_use/lock_memory.html">Locking Memory (Linux Systems Only)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/disk_storage/chapter_overview.html">Disk Storage</a>
<ul>
<li>
<a href="/docs/guide/115/managing/disk_storage/how_disk_stores_work.html">How Disk Stores Work</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/file_names_and_extensions.html">Disk Store File Names and Extensions</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/operation_logs.html">Disk Store Operation Logs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/disk_storage/overview_using_disk_stores.html">Configuring Disk Stores</a>
<ul>
<li>
<a href="/docs/guide/115/managing/disk_storage/using_disk_stores.html">Designing and Configuring Disk Stores</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/disk_store_configuration_params.html">Disk Store Configuration Parameters</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/using_the_default_disk_store.html">Modifying the Default Disk Store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/optimize_availability_and_performance.html">
Optimizing a System with Disk Stores</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/starting_system_with_disk_stores.html">Start Up and Shut Down with Disk Stores</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/disk_storage/managing_disk_stores.html">Disk Store Management</a>
<ul>
<li>
<a href="/docs/guide/115/managing/disk_storage/managing_disk_stores_cmds.html">Disk Store Management Commands and Operations</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/validating_disk_store.html">Validating a Disk Store</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/compacting_disk_stores.html">Running Compaction on Disk Store Log Files</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/keeping_offline_disk_store_in_sync.html">Keeping a Disk Store Synchronized with the Cache</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/disk_free_space_monitoring.html">Configuring Disk Free Space Monitoring
</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/handling_missing_disk_stores.html">Handling Missing Disk Stores</a>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/managing_disk_buffer_flushes.html">Altering When Buffers Are Flushed to Disk</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/disk_storage/backup_restore_disk_store.html">Creating Backups for System Recovery and Operational Management</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/cache_snapshots/chapter_overview.html">Cache and Region Snapshots</a>
<ul>
<li>
<a href="/docs/guide/115/managing/cache_snapshots/using_cache_and_region_snapshots.html">Usage and Performance Notes</a>
</li>
<li>
<a href="/docs/guide/115/managing/cache_snapshots/exporting_a_snapshot.html">Exporting Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/115/managing/cache_snapshots/importing_a_snapshot.html">Importing Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/115/managing/cache_snapshots/filtering_snapshot_entries.html">Filtering Entries During Import or Export</a>
</li>
<li>
<a href="/docs/guide/115/managing/cache_snapshots/read_snapshots_programmatically.html">Reading Snapshots Programmatically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/region_compression.html">Region Compression</a>
<ul>
<li>
<a href="/docs/guide/115/managing/region_compression.html#concept_a2c_rhc_gl">Guidelines on Using Compression</a>
</li>
<li>
<a href="/docs/guide/115/managing/region_compression.html#topic_inm_whc_gl">How to Enable Compression in a Region</a>
</li>
<li>
<a href="/docs/guide/115/managing/region_compression.html#topic_hqf_syj_g4">Working with Compressors
</a>
</li>
<li>
<a href="/docs/guide/115/managing/region_compression.html#topic_omw_j3c_gl">Comparing Performance of Compressed and Non-Compressed Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/network_partitioning/chapter_overview.html">Network Partitioning</a>
<ul>
<li>
<a href="/docs/guide/115/managing/network_partitioning/how_network_partitioning_management_works.html">How Network Partitioning Management Works</a>
</li>
<li>
<a href="/docs/guide/115/managing/network_partitioning/failure_detection.html">Failure Detection and Membership Views</a>
</li>
<li>
<a href="/docs/guide/115/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html">Membership Coordinators, Lead Members and Member Weighting</a>
</li>
<li>
<a href="/docs/guide/115/managing/network_partitioning/network_partitioning_scenarios.html">Network Partitioning Scenarios</a>
</li>
<li>
<a href="/docs/guide/115/managing/network_partitioning/handling_network_partitioning.html">Configure Apache Geode to Handle Network Partitioning</a>
</li>
<li>
<a href="/docs/guide/115/managing/network_partitioning/preventing_network_partitions.html">Preventing Network Partitions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/chapter_overview.html">Security</a>
<ul>
<li>
<a href="/docs/guide/115/managing/security/implementing_security.html">Security Implementation Introduction and Overview</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/security_audit_overview.html">Security Detail Considerations</a>
<ul>
<li>
<a href="/docs/guide/115/managing/security/security-audit.html">External Interfaces, Ports, and Services</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/security-audit.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Resources That Must Be Protected</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/security-audit.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Log File Locations</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/properties_file.html">Where to Place Security Configuration Settings</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/security/enable_security.html">Enable Security with Property Definitions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/authentication_overview.html">Authentication</a>
<ul>
<li>
<a href="/docs/guide/115/managing/security/implementing_authentication.html">Implementing Authentication</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/authentication_examples.html">Authentication Example</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/implementing_authentication_expiry.html">Implementing Authentication Expiry</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/authorization_overview.html">Authorization</a>
<ul>
<li>
<a href="/docs/guide/115/managing/security/implementing_authorization.html">Implementing Authorization</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/method_invocation_authorizers.html">Method Invocation Authorizers</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/authorization_example.html">Authorization Examples</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/security/post_processing.html">Post Processing of Region Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/ssl_overview.html">SSL</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/managing/security/implementing_ssl.html">Configuring SSL</a>
<ul>
<li>
<a href="/docs/guide/115/managing/security/implementing_ssl.html#ssl_configurable_components">SSL-Configurable Components</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/implementing_ssl.html#ssl_configuration_properties">SSL Configuration Properties</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/implementing_ssl.html#ssl_property_reference_tables">SSL Property Reference Tables</a>
</li>
<li>
<a href="/docs/guide/115/managing/security/implementing_ssl.html#implementing_ssl__sec_ssl_impl_proc">Procedure</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/security/ssl_example.html">SSL Sample Implementation</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/chapter_overview.html">Performance Tuning and Configuration</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/disabling_tcp_syn_cookies.html">Disable TCP SYN Cookies</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_on_vsphere.html">Improving Performance on vSphere</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/performance_controls.html">Performance Controls</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_controls_data_serialization.html">Data Serialization</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_controls_setting_cache_timeouts.html">Setting Cache Timeouts</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_controls_controlling_socket_use.html">Controlling Socket Use</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_controls_managing_slow_receivers.html">Management of Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/performance_controls_increasing_cache_hits.html">Increasing the Ratio of Cache Hits</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/system_member_performance.html">System Member Performance</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/system_member_performance_distributed_system_member.html">Member Properties</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/system_member_performance_jvm_mem_settings.html">JVM Memory Settings and System Performance</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/system_member_performance_garbage.html">Garbage Collection and System Performance</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/slow_receivers.html">Slow Receivers with TCP/IP</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/slow_receivers_preventing_problems.html">Preventing Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/slow_receivers_managing.html">Managing Slow Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/slow_messages.html">Slow distributed-ack Messages</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/socket_communication.html">Socket Communication</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html">Setting Socket Buffer Sizes</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html">Ephemeral TCP Port Limits</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/socket_communication_have_enough_sockets.html">Making Sure You Have Enough Sockets</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/socket_tcp_keepalive.html">TCP/IP KeepAlive Configuration</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html">TCP/IP Peer-to-Peer Handshake Timeouts</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/sockets_and_gateways.html">Configuring Sockets in Multi-Site (WAN) Deployments</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/udp_communication.html">UDP Communication</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication.html">Multicast Communication</a>
<ul>
<li>
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html">Provisioning Bandwidth for Multicast</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html">Testing Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication_configuring_speed_limits.html">Configuring Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication_runtime_considerations.html">Run-time Considerations for Multicast</a>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/multicast_communication_troubleshooting.html">Troubleshooting the Multicast Tuning Process</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/monitor_tune/cache_consistency.html">Maintaining Cache Consistency</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/logging/logging.html">Logging</a>
<ul>
<li>
<a href="/docs/guide/115/managing/logging/how_logging_works.html">How Geode Logging Works</a>
</li>
<li>
<a href="/docs/guide/115/managing/logging/logging_categories.html">Understanding Log Messages and Their Categories</a>
</li>
<li>
<a href="/docs/guide/115/managing/logging/logging_whats_next.html">Naming, Searching, and Creating Log Files</a>
</li>
<li>
<a href="/docs/guide/115/managing/logging/setting_up_logging.html">Set Up Logging</a>
</li>
<li>
<a href="/docs/guide/115/managing/logging/configuring_log4j2.html">Advanced Users—Configuring Log4j 2 for Geode</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/statistics/chapter_overview.html">Statistics</a>
<ul>
<li>
<a href="/docs/guide/115/managing/statistics/how_statistics_work.html">How Statistics Work</a>
</li>
<li>
<a href="/docs/guide/115/managing/statistics/transient_region_and_entry_statistics.html">Transient Region and Entry Statistics</a>
</li>
<li>
<a href="/docs/guide/115/managing/statistics/application_defined_statistics.html">Application-Defined and Custom Statistics</a>
</li>
<li>
<a href="/docs/guide/115/managing/statistics/setting_up_statistics.html">Configuring and Using Statistics</a>
</li>
<li>
<a href="/docs/guide/115/managing/statistics/viewing_statistics.html">Viewing Archived Statistics</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/troubleshooting/chapter_overview.html">Troubleshooting and System Recovery</a>
<ul>
<li>
<a href="/docs/guide/115/managing/troubleshooting/producing_troubleshooting_artifacts.html">Producing Artifacts for Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/diagnosing_system_probs.html">Diagnosing System Problems</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/system_failure_and_recovery.html">System Failure and Recovery</a>
</li>
<li>
<a href="/docs/guide/115/managing/member-reconnect.html">Handling Forced Cache Disconnection Using Autoreconnect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/managing/troubleshooting/recovering_from_app_crashes.html">Recovering from Application and Cache Server Crashes</a>
<ul>
<li>
<a href="/docs/guide/115/managing/troubleshooting/recovering_from_p2p_crashes.html">Recovering from Crashes with a Peer-to-Peer Configuration</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/recovering_from_cs_crashes.html">Recovering from Crashes with a Client/Server Configuration</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/recovering_from_machine_crashes.html">Recovering from Machine Crashes</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/recovering_conflicting_data_exceptions.html">Recovering from ConfictingPersistentDataExceptions</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/prevent_and_recover_disk_full_errors.html">Preventing and Recovering from Disk Full Errors</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/recovering_from_network_outages.html">Understanding and Recovering from Network Outages</a>
</li>
<li>
<a href="/docs/guide/115/managing/troubleshooting/log_messages_and_solutions.html">Log Messages and Solutions</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/book_intro.html">Developing with Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/developing/region_options/chapter_overview.html">
Region Data Storage and Distribution</a>
<ul>
<li>
<a href="/docs/guide/115/developing/region_options/storage_distribution_options.html">
Storage and Distribution Options</a>
</li>
<li>
<a href="/docs/guide/115/developing/region_options/region_types.html">Region Types</a>
</li>
<li>
<a href="/docs/guide/115/developing/region_options/data_hosts_and_accessors.html">Region Data Stores and Data Accessors</a>
</li>
<li>
<a href="/docs/guide/115/developing/region_options/dynamic_region_creation.html">Creating Regions Dynamically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/partitioned_regions/chapter_overview.html">Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/how_partitioning_works.html">Understanding Partitioning</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/managing_partitioned_regions.html">Configuring Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/configuring_bucket_for_pr.html">Configuring the Number of Buckets for a Partitioned Region</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html">Custom-Partitioning and Colocating Data</a>
<ul>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/custom_partitioning_and_data_colocation.html">Understanding Custom Partitioning and Data Colocation</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/standard_custom_partitioning.html">Standard Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/fixed_custom_partitioning.html">Fixed Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/colocating_partitioned_region_data.html">Colocate Data from Different Partitioned Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/partitioned_regions/overview_how_pr_ha_works.html">Configuring High Availability for Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/how_pr_ha_works.html">Understanding High Availability for Partitioned Regions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/partitioned_regions/configuring_ha_for_pr.html">Configure High Availability for a Partitioned Region</a>
<ul>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/set_pr_redundancy.html">Set the Number of Redundant Copies</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/set_redundancy_zones.html">Configure Redundancy Zones for Members</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/set_enforce_unique_host.html">Set Enforce Unique Host</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/set_crash_redundancy_recovery.html">Configure Member Crash Redundancy Recovery for a Partitioned Region</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/set_join_redundancy_recovery.html">Configure Member Join Redundancy Recovery for a Partitioned Region</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/partitioned_regions/overview_how_pr_single_hop_works.html">Configuring Single-Hop Client Access to Server-Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/how_pr_single_hop_works.html">Understanding Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/configure_pr_single_hop.html">Configure Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/rebalancing_pr_data.html">Rebalancing Partitioned Region Data</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/checking_region_redundancy.html">Checking Redundancy in Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/restoring_region_redundancy.html">Restoring Redundancy in Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/moving_partitioned_data.html">Moving Partitioned Region Data to Another Member</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/distributed_regions/chapter_overview.html">
Distributed and Replicated Regions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_distribution_works.html">How Distribution Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/choosing_level_of_dist.html">Options for Region Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_replication_works.html">How Replication and Preloading Work</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/managing_distributed_regions.html">Configure Distributed, Replicated, and Preloaded Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/locking_in_global_regions.html">Locking in Global Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/distributed_regions/region_entry_versions.html">Consistency for Region Updates</a>
<ul>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236">
Consistency Checking by Region Type</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_B64891585E7F4358A633C792F10FA23E">Configuring Consistency Checking</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2">Overhead for Consistency Checks</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_C5B74CCDD909403C815639339AA03758">How Consistency Checking Works for Replicated Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_321B05044B6641FCAEFABBF5066BD399">How Destroy and Clear Operations Are Resolved</a>
</li>
<li>
<a href="/docs/guide/115/developing/distributed_regions/how_region_versioning_works.html#topic_32ACFA5542C74F3583ECD30467F352B0">Transactions with Consistent Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/general_region_data_management.html">General Region Data Management</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/developing/storing_data_on_disk/chapter_overview.html">Persistence and Overflow</a>
<ul>
<li>
<a href="/docs/guide/115/developing/storing_data_on_disk/how_persist_overflow_work.html">How Persistence and Overflow Work</a>
</li>
<li>
<a href="/docs/guide/115/developing/storing_data_on_disk/storing_data_on_disk.html">Configure Region Persistence and Overflow</a>
</li>
<li>
<a href="/docs/guide/115/developing/storing_data_on_disk/overflow_config_examples.html">Overflow Configuration Examples</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/eviction/chapter_overview.html">Eviction</a>
<ul>
<li>
<a href="/docs/guide/115/developing/eviction/how_eviction_works.html">How Eviction Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/eviction/configuring_data_eviction.html">Configure Data Eviction</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/expiration/chapter_overview.html">Expiration</a>
<ul>
<li>
<a href="/docs/guide/115/developing/expiration/how_expiration_works.html">How Expiration Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/outside_data_sources/sync_outside_data.html">Keeping the Cache in Sync with Outside Data Sources</a>
<ul>
<li>
<a href="/docs/guide/115/developing/outside_data_sources/chapter_overview.html">Overview of Outside Data Sources</a>
</li>
<li>
<a href="/docs/guide/115/developing/outside_data_sources/configuring_db_connections_using_JNDI.html">Configuring Database Connections Using JNDI</a>
</li>
<li>
<a href="/docs/guide/115/developing/outside_data_sources/how_data_loaders_work.html">How Data Loaders Work</a>
</li>
<li>
<a href="/docs/guide/115/developing/outside_data_sources/implementing_data_loaders.html">Implement a Data Loader</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/data_serialization/chapter_overview.html">Data Serialization</a>
<ul>
<li>
<a href="/docs/guide/115/developing/data_serialization/data_serialization_options.html">Overview of Data Serialization</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/data_serialization/gemfire_pdx_serialization.html">Geode PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/115/developing/data_serialization/PDX_Serialization_Features.html">Geode PDX Serialization Features</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/use_pdx_high_level_steps.html">High Level Steps for Using PDX Serialization
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/data_serialization/auto_serialization.html">Using Automatic Reflection-Based PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/115/developing/data_serialization/autoserialization_with_class_pattern_strings.html">Customizing Serialization with Class Pattern Strings</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/extending_the_autoserializer.html">Extending the ReflectionBasedAutoSerializer</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/use_pdx_serializer.html">Serializing Your Domain Object with a PdxSerializer</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/use_pdx_serializable.html">Implementing PdxSerializable in Your Domain Object</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/program_application_for_pdx.html">Programming Your Application to Use PdxInstances</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/jsonformatter_pdxinstances.html">Adding JSON Documents to the Geode Cache</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/using_PdxInstanceFactory.html">Using PdxInstanceFactory to Create PdxInstances</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/persist_pdx_metadata_to_disk.html">Persisting PDX Metadata to Disk</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/using_pdx_region_entry_keys.html">Using PDX Objects as Region Entry Keys</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/gemfire_data_serialization.html">Geode Data Serialization (DataSerializable and DataSerializer)</a>
</li>
<li>
<a href="/docs/guide/115/developing/data_serialization/java_serialization.html">Standard Java Serialization</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/chapter_overview.html">Events and Event Handling</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/how_events_work.html">How Events Work</a>
<ul>
<li>
<a href="/docs/guide/115/developing/events/how_cache_events_work.html">Peer-to-Peer Event Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/how_client_server_distribution_works.html">Client-to-Server Event Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/how_multisite_distribution_works.html">
Multi-Site (WAN) Event Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/list_of_event_handlers_and_events.html">List of Event Handlers and Events</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/event_handler_overview.html">Implementing Geode Event Handlers</a>
<ul>
<li>
<a href="/docs/guide/115/developing/events/implementing_cache_event_handlers.html">Implementing Cache Event Handlers</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/implementing_write_behind_event_handler.html">Implementing an AsyncEventListener for Write-Behind Cache Event Handling</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/writing_callbacks_that_modify_the_cache.html">How to Safely Modify the Cache from an Event Handler Callback</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/cache_event_handler_examples.html">Cache Event Handler Examples</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/events/configure_p2p_event_messaging.html">Configuring Peer-to-Peer Event Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/configure_client_server_event_messaging.html">Configuring Client/Server Event Messaging
</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/configuring_highly_available_servers.html">Configuring Highly Available Servers</a>
<ul>
<li>
<a href="/docs/guide/115/developing/events/ha_event_messaging_whats_next.html">Highly Available Client/Server Event Messaging</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/tune_client_server_event_messaging.html">Tuning Client/Server Event Messaging</a>
<ul>
<li>
<a href="/docs/guide/115/developing/events/conflate_server_subscription_queue.html">Conflate the Server Subscription Queue</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/limit_server_subscription_queue_size.html">Limit the Server's Subscription Queue Memory Use
</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/tune_client_message_tracking_timeout.html">Tune the Client's Subscription Message Tracking Timeout</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/events/configure_multisite_event_messaging.html">Configuring Multi-Site (WAN) Event Queues</a>
<ul>
<li>
<a href="/docs/guide/115/developing/events/configuring_highly_available_gateway_queues.html">Persisting an Event Queue</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/configuring_gateway_concurrency_levels.html">Configuring Dispatcher Threads and Order Policy for Event Distribution</a>
</li>
<li>
<a href="/docs/guide/115/developing/events/conflate_multisite_gateway_queue.html">Conflating Events in a Queue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/delta_propagation/chapter_overview.html">
Delta Propagation</a>
<ul>
<li>
<a href="/docs/guide/115/developing/delta_propagation/how_delta_propagation_works.html">How Delta Propagation Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/delta_propagation/when_to_use_delta_prop.html">When to Avoid Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/115/developing/delta_propagation/delta_propagation_properties.html">Delta Propagation Properties</a>
</li>
<li>
<a href="/docs/guide/115/developing/delta_propagation/implementing_delta_propagation.html">Implementing Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/115/developing/delta_propagation/errors_in_delta_propagation.html">Errors In Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/115/developing/delta_propagation/delta_propagation_example.html">Delta Propagation Example</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/querying_basics/chapter_overview.html">Querying</a>
<ul>
<li>
<a href="/docs/guide/115/getting_started/querying_quick_reference.html">Querying FAQ and Examples</a>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/query_basics.html">Querying with OQL</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/querying_basics/running_a_query.html">Writing and Executing a Query in OQL</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/developing/querying_basics/what_is_a_query_string.html">Building a Query String</a>
<ul>
<li>
<a href="/docs/guide/115/developing/query_select/the_import_statement.html">IMPORT Statement</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_select/the_from_clause.html">FROM Clause</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_select/the_where_clause.html">WHERE Clause</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_select/the_select_statement.html">SELECT Statement</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_select/aggregates.html">OQL Aggregate Functions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/query_additional/query_language_features.html">OQL Syntax and Semantics</a>
<ul>
<li>
<a href="/docs/guide/115/developing/querying_basics/supported_character_sets.html">Supported Character Sets</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/supported_keywords.html">Supported Keywords</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/case_sensitivity.html">Case Sensitivity</a>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/comments_in_query_strings.html">Comments in Query Strings</a>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/query_grammar_and_reserved_words.html">Query Language Grammar</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/operators.html">Operators</a>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/reserved_words.html">Reserved Words</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/literals.html">Supported Literals</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/restrictions_and_unsupported_features.html">Query Language Restrictions and Unsupported Features</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/query_additional/advanced_querying.html">Advanced Querying</a>
<ul>
<li>
<a href="/docs/guide/115/developing/querying_basics/performance_considerations.html">Performance Considerations</a>
</li>
<li>
<a href="/docs/guide/115/developing/querying_basics/monitor_queries_for_low_memory.html">Monitoring Low Memory When Querying</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/query_timeout.html">Timeouts for Long-Running Queries</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/using_query_bind_parameters.html">Using Query Bind Parameters</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/querying-a-specific-member.html">Querying a Specific Member</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/querying_basics/querying_partitioned_regions.html">
Querying Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/query_additional/order_by_on_partitioned_regions.html">Using ORDER BY on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/query_on_a_single_node.html">Querying a Partitioned Region on a Single Node</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/partitioned_region_key_or_field_value.html">Optimizing Queries on Data Partitioned by a Key or Field Value</a>
</li>
<li>
<a href="/docs/guide/115/developing/partitioned_regions/join_query_partitioned_regions.html">Performing an Equi-Join Query on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/partitioned_region_query_restrictions.html">Partitioned Region Query Restrictions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/developing/query_additional/query_debugging.html">Query Debugging</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/query_index/query_index.html">Working with Indexes</a>
<ul>
<li>
<a href="/docs/guide/115/developing/query_index/indexing_guidelines.html">Tips and Guidelines on Using Indexes</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/creating_an_index.html">Creating, Listing and Removing Indexes</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/creating_key_indexes.html">Creating Key Indexes</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/creating_hash_indexes.html">Creating Hash Indexes</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/creating_map_indexes.html">Creating Indexes on Map Fields ("Map Indexes")</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/create_multiple_indexes.html">Creating Multiple Indexes at Once</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/maintaining_indexes.html">Maintaining Indexes (Synchronously or Asynchronously) and Index Storage</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/query_index_hints.html">Using Query Index Hints</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/indexes_on_single_region_queries.html">Using Indexes on Single Region Queries</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/using_indexes_with_equijoin_queries.html">Using Indexes with Equi-Join Queries</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/indexes_with_overflow_regions.html">Using Indexes with Overflow Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html">Using Indexes on Equi-Join Queries using Multiple Regions</a>
</li>
<li>
<a href="/docs/guide/115/developing/query_index/index_samples.html">Index Samples</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/continuous_querying/chapter_overview.html">
Continuous Querying</a>
<ul>
<li>
<a href="/docs/guide/115/developing/continuous_querying/how_continuous_querying_works.html">How Continuous Querying Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/continuous_querying/implementing_continuous_querying.html">Implementing Continuous Querying</a>
</li>
<li>
<a href="/docs/guide/115/developing/continuous_querying/continuous_querying_whats_next.html">Managing Continuous Querying</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/transactions/chapter_overview.html">Transactions</a>
<ul>
<li>
<a href="/docs/guide/115/developing/transactions/transactions_intro.html">Adherence to ACID Promises</a>
</li>
<li>
<a href="/docs/guide/115/developing/transactions/directed_example.html">Code Examples</a>
</li>
<li>
<a href="/docs/guide/115/developing/transactions/design_considerations.html">Design Considerations</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/developing/function_exec/chapter_overview.html">Function Execution</a>
<ul>
<li>
<a href="/docs/guide/115/developing/function_exec/how_function_execution_works.html">How Function Execution Works</a>
</li>
<li>
<a href="/docs/guide/115/developing/function_exec/function_execution.html">Executing a Function in Apache Geode</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/book_intro.html">Developing REST Applications for Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/chapter_overview.html">Geode REST API Overview</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/rest_prereqs.html">Prerequisites and Limitations for Writing REST Applications</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/setup_config.html">Setup and Configuration</a>
<ul>
<li><a href="/docs/guide/115/rest_apps/setup_config.html#setup_config_enabling_rest">Enabling the REST API</a></li>
<li><a href="/docs/guide/115/rest_apps/setup_config.html#setup_config_starting_rest">Starting the REST API Service</a></li>
<li><a href="/docs/guide/115/rest_apps/setup_config.html#setup_config_implementing_auth">Implementing Authentication</a></li>
<li><a href="/docs/guide/115/rest_apps/setup_config.html#setup_config_implementing_auth">Programmatic Startup</a></li>
</ul>
</li>
<li>
<a href="/docs/guide/115/rest_apps/using_swagger.html">Using the Swagger UI to Browse REST APIs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/develop_rest_apps.html">Developing REST Applications</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/develop_rest_apps.html#topic_qhs_f25_m4">Working with Regions</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/develop_rest_apps.html#topic_fcn_g25_m4">Working with Queries</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/develop_rest_apps.html#topic_rbc_h25_m4">Working with Functions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/rest_apps/rest_examples.html">Sample REST Applications</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/troubleshooting.html">Troubleshooting and FAQ</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/rest_api_reference.html">Apache Geode REST API Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/rest_regions.html">Region Endpoints</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/get_regions.html">GET /geode/v1</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_region_data.html">GET /geode/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_region_keys.html">GET /geode/v1/{region}/keys</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_region_key_data.html">GET /geode/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_region_data_for_multiple_keys.html">GET /geode/v1/{region}/{key1},{key2},...,{keyN}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/head_region_size.html">HEAD /geode/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/post_if_absent_data.html">POST /geode/v1/{region}?key=&lt;key&gt;</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/put_update_data.html">PUT /geode/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/put_multiple_values_for_keys.html">PUT /geode/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/put_replace_data.html">PUT /geode/v1/{region}/{key}?op=REPLACE</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/put_update_cas_data.html">PUT /geode/v1/{region}/{key}?op=CAS</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/delete_all_data.html">DELETE /geode/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/delete_data_for_key.html">DELETE /geode/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/delete_data_for_multiple_keys.html">DELETE /geode/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/rest_queries.html">Query Endpoints</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/get_queries.html">GET /geode/v1/queries</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/post_create_query.html">POST /geode/v1/queries?id=&lt;queryId&gt;&amp;q=&lt;OQL-statement&gt;</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/post_execute_query.html">POST /geode/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/put_update_query.html">PUT /geode/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/delete_named_query.html">DELETE /geode/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_execute_adhoc_query.html">GET /geode/v1/queries/adhoc?q=&lt;OQL-statement&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/rest_functions.html">Function Endpoints</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/get_functions.html">GET /geode/v1/functions</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/post_execute_functions.html">POST /geode/v1/functions/{functionId}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/rest_apps/rest_admin.html">Administrative Endpoints</a>
<ul>
<li>
<a href="/docs/guide/115/rest_apps/ping_service.html">[HEAD | GET] /geode/v1/ping</a>
</li>
<li>
<a href="/docs/guide/115/rest_apps/get_servers.html">GET /geode/v1/servers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/book_intro.html">Tools and Modules</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/chapter_overview.html">gfsh</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/about_gfsh.html">What You Can Do with gfsh</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/starting_gfsh.html">Starting gfsh</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/configuring_gfsh.html">Configuring the gfsh Environment</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/useful_gfsh_shell_variables.html">Useful gfsh Shell Variables</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/getting_started_gfsh.html">Basic Shell Features and Command-Line Usage</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/json_in_gfsh.html">Specifying JSON within Command-Line Options</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/tour_of_gfsh.html">Tutorial—Performing Common Tasks with gfsh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/gfsh_quick_reference.html">Quick Reference of gfsh Commands by Functional Area</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_77DA6E3929404EB4AC24230CC7C21493">Basic Geode gfsh Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EB854534301A477BB01058B3B142AE1D">Configuration Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_C7DB8A800D6244AE8FF3ADDCF139DCE4">Data Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1B47A0E120124EB6BF08A467EB510412">Deployment Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA">Disk Store Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_10613D4850F04A3EB507F6B441AD3413">Durable CQ and Client Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8BB061D1A7A9488C819FE2B7881A1278">Function Execution Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_F0AE5CE40D6D49BF92247F5EF4F871D2">Gateway (WAN) Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_B742E9E862BA457082E2346581C97D03">Geode Monitoring Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E">Index Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_2A6DA4078E4E496A9F725A29BC4CFD0D">JMX Connection Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13">Locator Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_lucene_commands">Lucene Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_cvg_bls_5q">PDX Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03129A40EE492984F3B6248596E1DD">Region Commands</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8A341FF86958466E9E64CF06CD21FED9">Server Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/gfsh_command_index.html">gfsh Command Help</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html">alter</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html#topic_alter_async_event_queue">alter async-event-queue</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB">alter disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html#topic_alter_query_service">alter query-service</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758">alter region</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B">alter runtime</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/backup.html">backup disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/change.html">change loglevel</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/clear.html">clear defined indexes</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/close.html">close</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/close.html#topic_4125AAAB9FE44CD787166E48B694C41D">close durable-client</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/close.html#topic_1BC15B3132BA480DB227921A9B3ABDD1">close durable-cq</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/compact.html">compact</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/compact.html#topic_F123C95C076F424E9AA8AC4F1F6324CC">compact disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB">compact offline-disk-store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/configure.html">configure</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/connect.html">connect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html">create</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_ryz_pb1_dk">create async-event-queue</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_w2t_l3m_qq">create defined indexes</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_bkn_zty_ck">create disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_a4x_pb1_dk">create gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_hg2_bjz_ck">create gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_960A5B6FD3D84E1881EE128E299DD12D">create index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#create_jndi-binding">create jndi-binding</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#create_lucene_index">create lucene index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863">create region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/debug.html">debug</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/define.html">define index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/deploy.html">deploy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html">describe</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_gyr_jgz_ck">describe client</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_3C2C817D999C4E40AF788808B7B6AF99">describe config</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_591DC6B781B641268E6173E69AC6D201">describe connection
</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_C635B500BE6A4F1D9572D0BC98A224F2">describe disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#describe_jndi-binding">describe jndi-binding</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#describe_lucene_index">describe lucene index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_D62F3D42B1D84CF68F03D54D5122806A">describe member</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_kys_yvk_2l">describe offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_describe_query_service">describe query-service</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/describe.html#topic_DECF7D3D33F54071B6B8AD4EA7E3F90B">describe region
</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html">destroy</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#topic_destroy-async-event-queue">destroy async-event-queue</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#topic_yfr_l2z_ck">destroy disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#topic_E48C2DF809054C12A162026D8A2139BB">destroy function</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#destroy-gr">destroy gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#destroy-gs">destroy gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#topic_D00219CCD6F64C1582A0802AC5CDF3F3">destroy index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#destroy_jndi-binding">destroy jndi-binding</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#destroy_lucene_index">destroy lucene index</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/destroy.html#topic_BEDACECF4599407794ACBC0E56B30F65">destroy region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/disconnect.html">disconnect</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/echo.html">echo</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/execute.html">execute function</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/exit.html">exit</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html">export</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_mdv_jgz_ck">export cluster-configuration
</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE">export config</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734">export data</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_B80978CC659244AE91E2B8CE56EBDFE3">export logs</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_sjg_bvt_gq">export offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/export.html#topic_195D27B8B2B64A4E84CF2256636D54BD">export stack-traces</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/gc.html">gc</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/get.html">get</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/help.html">help</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/hint.html">hint</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/history.html">history</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/import.html">import</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/import.html#topic_vnv_grz_ck">import cluster-configuration</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l">import data</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html">list</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_j22_kzk_2l">list async-event-queues</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_ts1_qb1_dk">list clients</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_59DF60DE71AD4097B281749425254BFF">list deployed
</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_BC14AD57EA304FB3845766898D01BD04">list disk-stores</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_66016A698C334F4EBA19B99F51B0204B">list durable-cqs</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_DCC7CCBBEF5942B783A8F2A4A5B2FABF">list functions</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_B1D89671C7B74074899C7D52F15849ED">list gateways</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_B3B51B6DEA484EE086C4F657EC9831F2">list indexes</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#list_jndi-binding">list jndi-binding</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#list_lucene_indexes">list lucene indexes</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_5B5BFB2E5F314210858641BE3A689637">list members</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/list.html#topic_F0ECEFF26086474498598035DD83C588">list regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/load-balance.html">load-balance gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/locate.html">locate entry</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/netstat.html">netstat</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/pause.html">pause gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/pdx.html">pdx rename</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/put.html">put</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/query.html">query</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/rebalance.html">rebalance</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/remove.html">remove</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/restore.html">restore redundancy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/resume.html">resume</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/resume.html#topic_resume_async_event_queue_dispatcher">resume async-event-queue-dispatcher</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/resume.html#topic_resume_gateway_sender">resume gateway-sender</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/revoke.html">revoke missing-disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/run.html">run</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/search.html">search lucene</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/set.html">set variable</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/sh.html">sh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html">show</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html#topic_1225347FAD6541DF995C9999650165B1">show dead-locks</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html#topic_45AAEDAC3AFF46EC9BB68B24FC9A32B3">show log</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html#topic_6EB786C63AEB46179EEE8FA18624295A">show metrics</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html#topic_7B3D624D5B4F41D1A0F8A9C3C8B2E780">show missing-disk-stores</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E">show subscription-queue-size</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/shutdown.html">shutdown</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/sleep.html">sleep</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html">start</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_67738A5B68E84DEE95D1C92DAB2E26E5">start gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_AB8BA3F42B9645A8BE9BD97CE2F839A8">start gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_D00507416F3944DFAB48D2FA2B9E4A31">start jconsole</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_5B5BF8BEE905463D8B7762B89E2D65E7">start jvisualvm
</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_591260CF25D64562A0EDD7260D2AC6D4">start locator</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_E906BA7D9E7F4C5890FEFA7ECD40DD77">start pulse</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A">start server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html">status</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_ts1_qb1_dk2">status cluster-config-service</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_B0F45DC2D5F64FB1A2F738206BC6539E">status gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_6F539877F0564F05AF264A9E704EC842">status gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_E96D0EFA513C4CD79B833FCCDD69C832">status locator</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_status_redundancy">status redundancy</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/status.html#topic_E5DB49044978404D9D6B1971BF5D400D">status server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/stop.html">stop</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/stop.html#topic_CD1D526FD6F84A7B80B25C741229ED30">stop gateway-receiver
</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/stop.html#topic_0BBDD4B3B8A44A65A610F766C9E85519">stop gateway-sender</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/stop.html#topic_EF61C54B35BA4AB7B14E58CF912F283E">stop locator</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/stop.html#topic_723EE395A63A40D6819618AFC2902125">stop server</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/undeploy.html">undeploy</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/validate.html">validate offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/version.html">version</a>
<a href="/docs/guide/115/tools_modules/gfsh/command-pages/wan_copy_region.html">wan-copy region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/command_scripting.html">Creating and Running gfsh Command Scripts</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/os_command_line_execution.html">Running gfsh Commands on the OS Command Line</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gfsh/cache_xml_2_gfsh.html">Mapping cache.xml Elements to gfsh Configuration Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/gemcached/chapter_overview.html">Gemcached</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/gemcached/about_gemcached.html">How Gemcached Works</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gemcached/deploying_gemcached.html">Deploying and Configuring a Gemcached Server</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/gemcached/advantages.html">Advantages of Gemcached over Memcached</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/chapter_overview.html">HTTP Session Management Modules</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/quick_start.html">HTTP Session Management Quick Start</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/http_why_use_gemfire.html">Advantages of Using Geode for Session Management</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/common_gemfire_topologies.html">Common Topologies for HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tc_additional_info.html">General Information on HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/session_state_log_files.html">Session State Log Files</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/configuring_non_sticky_sessions.html">Configuring Non-Sticky Sessions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/session_mgmt_tcserver.html">HTTP Session Management Module for Pivotal tc Server</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tc_installing_the_module.html">Installing the HTTP Module for tc Server</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tc_setting_up_the_module.html">Setting Up the HTTP Module for tc Server</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the tc Server Module</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/interactive_mode_ref.html">Interactive Configuration Reference for the tc Server Module
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/session_mgmt_tomcat.html">HTTP Session Management Module for Tomcat</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tomcat_installing_the_module.html">Installing the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html">Setting Up the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the Tomcat Module</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/session_mgmt_weblogic.html">HTTP Session Management Module for AppServers</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html">Setting Up the HTTP Module for AppServers
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the AppServers Module
</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html">Common Geode Configuration Changes for AppServers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/pulse/pulse-overview.html">Geode Pulse</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/pulse/pulse-requirements.html">Pulse System Requirements</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/pulse/pulse-embedded.html">Running Pulse in Embedded Mode (Quick Start)</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/pulse/pulse-hosted.html">Hosting Pulse on a Web Application Server</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/pulse/pulse-auth.html">Configuring Pulse Authentication</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/pulse/pulse-views.html">Using Pulse Views</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/lucene_integration.html">Apache Lucene Integration</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/lucene_integration.html#using-the-apache-lucene-integration">Using the Apache Lucene Integration</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/lucene_integration.html#LuceneRandC">Requirements and Caveats</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/tools_modules/micrometer/micrometer-overview.html">Micrometer</a>
<ul>
<li>
<a href="/docs/guide/115/tools_modules/micrometer/micrometer-configuration.html">Configuration and Publishing</a>
</li>
<li>
<a href="/docs/guide/115/tools_modules/micrometer/micrometer-meters.html">Micrometer Meters and Tags</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/use_cases/book_intro.html">Use Cases</a>
<ul>
<li>
<a href="/docs/guide/115/use_cases/inline-cache.html">The Inline Cache</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/reference/book_intro.html">Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/reference/topics/gemfire_properties.html">gemfire.properties and gfsecurity.properties (Geode Properties)</a>
<ul>
<li>
<a href="/docs/guide/115/reference/topics/non-ascii_strings_in_config_files.html">Using Non-ASCII Strings in Apache Geode Property Files</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/reference/topics/chapter_overview_cache_xml.html">cache.xml
</a>
<ul>
<li>
<a href="/docs/guide/115/reference/topics/elements_ref.html">cache.xml Quick Reference</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/cache-elements-list.html">&lt;cache&gt; Element Hierarchy</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/cache_xml.html">&lt;cache&gt; Element Reference</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/client-cache-elements-list.html">
&lt;client-cache&gt; Element Hierarchy</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/client-cache.html">&lt;client-cache&gt; Element Reference</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/reference/topics/chapter_overview_regionshortcuts.html">Region Shortcuts</a>
<ul>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_table.html">Region Shortcuts Quick Reference</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_w2h_3cd_lk">
LOCAL
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_wd5_lpy_lk">
LOCAL_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_adk_y4y_lk">
LOCAL_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_l5r_y4y_lk">
LOCAL_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_a45_y4y_lk">
LOCAL_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_ow5_4qy_lk">
PARTITION
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_twx_y4y_lk">
PARTITION_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_js1_z4y_lk">
PARTITION_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_d4k_jpy_lk">
PARTITION_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_v5l_jpy_lk">
PARTITION_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_v4m_jpy_lk">
PARTITION_PROXY
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_c1n_jpy_lk">
PARTITION_PROXY_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_shn_jpy_lk">
PARTITION_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_m4n_jpy_lk">
PARTITION_REDUNDANT_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_own_jpy_lk">
PARTITION_REDUNDANT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_bd4_jpy_lk">
PARTITION_REDUNDANT_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_xqq_tvc_lk">
PARTITION_REDUNDANT_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_wq4_jpy_lk">
REPLICATE
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_xx4_jpy_lk">
REPLICATE_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_t2p_jpy_lk">
REPLICATE_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_emp_jpy_lk">
REPLICATE_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_tsp_jpy_lk">
REPLICATE_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/region_shortcuts_reference.html#reference_n1q_jpy_lk">
REPLICATE_PROXY
</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/reference/topics/handling_exceptions_and_failures.html">
Exceptions and System Failures</a>
</li>
<li>
<a href="/docs/guide/115/reference/topics/memory_requirements_for_cache_data.html">Memory Requirements for Cached Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/reference/statistics_list.html">Geode Statistics List</a>
<ul>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_DEF8D3644D3246AB8F06FE09A37DC5C8">Cache Performance (CachePerfStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_EF5C2C59BFC74FFB8607F9571AB9A471">Cache Server (CacheServerStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_B08C0783BBF9489E8BB48B4AEC597C62">Client-Side Notifications (CacheClientUpdaterStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_04B7D7387E584712B7710B5ED1E876BB">Client-to-Server Messaging Performance (ClientStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_6C247F61DB834C079A16BE92789D4692">Client Connection Pool (PoolStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_66C0E7748501480B85209D57D24256D5">Continuous Querying (CQStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_D4ABED3FF94245C0BEE0F6FC9481E867">Delta Propagation (DeltaPropagationStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_6C2BECC63A83456190B029DEDB8F4BE3">Disk Space Usage (DiskDirStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_983BFC6D53C74829A04A91C39E06315F">Disk Usage and Performance (DiskRegionStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_ACB4161F10D64BC0B15871D003FF6FDF">Distributed System Messaging (DistributionStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_78D346A580724E1EA645E31626EECE40">Distributed Lock Services (DLockStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_5E212DDB0E8640689AD0A4659512E17A">Function Execution (FunctionServiceStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_C4199A541B1F4B82B6178C416C0FAE4B">Gateway Queue (GatewayStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_86A61860024B480592DAC67FFB882538">Indexes (IndexStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_607C3867602E410CAE5FAB26A7FF1CB9">JVM Performance</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_C48B654F973E4B44AD825D459C23A6CD">Locator (LocatorStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#LuceneStats">Lucene Indexes (LuceneIndexStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#topic_ohc_tjk_w5">Off-Heap (OffHeapMemoryStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_923B28F01BC3416786D3AFBD87F22A5E">Operating System Statistics - Linux</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_35AC170770C944C3A336D9AEC2D2F7C5">Partitioned Regions (PartitionedRegion&lt;partitioned_region_name&gt;Statistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_374FBD92A3B74F6FA08AA23047929B4F">Region Entry Eviction – Count-Based (LRUStatistics)
</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_3D2AA2BCE5B6485699A7B6ADD1C49FF7">Region Entry Eviction – Size-based (LRUStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_5362EF9AECBC48D69475697109ABEDFA">Server Notifications for All Clients (CacheClientNotifierStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_E03865F509E543D9B8F9462B3DA6255E">Server Notifications for Single Client (CacheClientProxyStatistics)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_3AB1C0AA55014163A2BBF68E13D25E3A">Server-to-Client Messaging Performance (ClientSubscriptionStats)</a>
</li>
<li>
<a href="/docs/guide/115/reference/statistics_list.html#section_55F3AF6413474317902845EE4996CC21">Statistics Collection (StatSampler)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/115/reference/archive_transactions/chapter_overview.html">Transaction Reference Material</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/115/reference/archive_transactions/JTA_transactions.html">JTA Global Transactions with Geode
</a>
<ul>
<li>
<a href="/docs/guide/115/reference/archive_transactions/JTA_transactions.html#concept_cp1_zx1_wk">Coordinating with External JTA Transaction Managers</a>
</li>
<li>
<a href="/docs/guide/115/reference/archive_transactions/JTA_transactions.html#concept_csy_vfb_wk">Using Geode as the "Last Resource" in a Container-Managed JTA Transaction</a>
</li>
<li>
<a href="/docs/guide/115/reference/archive_transactions/cache_plugins_with_jta.html">Behavior of Geode Cache Writers and Loaders Under JTA</a>
</li>
<li>
<a href="/docs/guide/115/reference/archive_transactions/turning_off_jta.html">Turning Off JTA Transactions
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/115/reference/topics/glossary.html">Glossary</a>
</li>
</ul>
</div>
</div>
<!--googleon: index-->
<main class="content content-layout" id="js-content" role="main">
<a id="top"></a>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<span style="font-weight:200;font-size:31px;" style="float:left;">
<img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
Apache Geode
</span>
<span class="local-header version-info" style="float:right;">
<a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
</span>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 class="title-container" >
Overview of Multi-site Caching
</h1>
<div id="js-quick-links" >
</div>
<div class="to-top" id="js-to-top">
<a href="#top" title="back to top"></a>
</div>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p><a id="topic_70045702D3994BC692E75102CE01BD7C"></a></p>
<p>A multi-site installation consists of two or more loosely-coupled clusters. Each site manages its own cluster, but region data is distributed to remote sites using one or more logical connections.</p>
<p>The logical connections consist of a gateway sender in the sending site, and a gateway receiver in the receiving site. In a client/server installation, gateway senders and gateway receivers are configured in the server layer.</p>
<p>Gateway senders and receivers are defined at startup in the member caches. A site can use <em>serial</em> and/or <em>parallel</em> gateway sender configurations, as described in <a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_9AA37B43642D4DE19072CA3367C849BA">Gateway Senders</a>.</p>
<p><img src="../../images/consistent_multisite.png" id="topic_70045702D3994BC692E75102CE01BD7C__image_BCD6320F34A645A7911AA25EDEA6D971" class="image" /></p>
<h2 id="consistency-for-wan-updates"><a id="topic_C74A0961937640B199396DC925D8D782" class="no-quick-link"></a>Consistency for WAN Updates</h2>
<p>Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Geode members that distribute region events across a WAN.</p>
<p>Events are sent in batches from gateway senders to receivers. In order to avoid inconsistencies due
to partial reception of the events belonging to a transaction, you can configure gateway senders
using the <code>group-transaction-events</code> property to
ensure that events belonging to the same transaction are sent together in the same batch.
In order to use transaction event grouping:</p>
<ul>
<li>The <code>group-transaction-events</code> setting is supported only on serial senders with just one dispatcher thread, or on parallel senders.</li>
<li>The regions to which the transaction events belong must be replicated by the same set of gateway senders that also have this setting enabled.</li>
<li>This setting cannot be enabled if <code>enable-batch-conflation</code> is in effect.</li>
</ul>
<p><strong>Note:</strong>
If the above conditions are not fulfilled or under very high load traffic conditions, it may not be guaranteed that all the events for a transaction will be sent in the same batch, even if <code class="ph codeph">group-transaction-events</code> is enabled. The number of batches sent with incomplete transactions can be retrieved from the <code class="ph codeph">GatewaySenderMXBean</code> bean.</p>
<p>By default, potential WAN conflicts are resolved using a timestamp mechanism. You can optionally install a custom conflict resolver to apply custom logic when determining whether to apply a potentially conflicting update received over a WAN.</p>
<p><a href="/docs/guide/115/developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045">Consistency for Region Updates</a> describes how Geode ensures consistency within a cluster, in client caches, and when applying updates over a WAN. <a href="/docs/guide/115/developing/events/resolving_multisite_conflicts.html#topic_E97BB68748F14987916CD1A50E4B4542">Resolving Conflicting Events</a> provides more details about implementing a custom conflict resolver for WAN updates.</p>
<h2 id="discovery-for-multi-site-systems"><a id="topic_1742957C8D4B4F7590847EB8DB6CD4F7" class="no-quick-link"></a>Discovery for Multi-Site Systems</h2>
<p>Each Geode cluster in a WAN configuration uses locators to discover remote clusters as well as local members.</p>
<p>Each locator in a WAN configuration defines a unique <code>distributed-system-id</code> property that identifies the local cluster to which it belongs. A locator uses the <code>remote-locators</code> property to define the addresses of one or more locators in remote clusters to use for WAN distribution.</p>
<p>When a locator starts up, it contacts each locator that is configured in the <code>remote-locators</code> property to exchange information about the available locators and gateway receivers in the cluster. The locator also shares information about locators and gateway receivers in any other Geode clusters that have connected to the cluster. Connected clusters can then use the shared gateway receiver information to distribute region events according to their configured gateway senders.</p>
<p>Each time a new locator starts up or an existing locator shuts down, the changed information is broadcast to other connected Geode clusters.</p>
<h2 id="gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA" class="no-quick-link"></a>Gateway Senders</h2>
<p>A Geode cluster uses a <em>gateway sender</em> to distribute region events to another, remote Geode cluster. You can create multiple gateway sender configurations to distribute region events to multiple remote clusters, and/or to distribute region events concurrently to another remote cluster.</p>
<p>A gateway sender always communicates with a gateway receiver in a remote cluster. Gateway senders do not communicate directly with other cache server instances. See <a href="/docs/guide/115/topologies_and_comm/topology_concepts/multisite_overview.html#topic_4DB3D9CF01AD4F4899457D1250468D00">Gateway Receivers</a>.</p>
<p>Geode provides two types of gateway sender configurations: <em>serial</em> gateway senders and <em>parallel</em> gateway senders.</p>
<h2 id="serial-gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_F7B3A17597B344F19A9E3546097AC5DB" class="no-quick-link"></a>Serial Gateway Senders</h2>
<p>A <em>serial gateway sender</em> funnels region events through a single Geode server in the local cluster to a gateway receiver in the remote Geode cluster. Although multiple regions can use the same serial gateway for distribution, a serial gateway uses a single logical event queue to dispatch events for all regions that use the gateway sender.</p>
<p><img src="../../images/serial_sender.png" id="topic_9AA37B43642D4DE19072CA3367C849BA__image_CEF888583FAC4CCBB0445F2BF8F15F20" class="image" width="576" /></p>
<p>Because a serial gateway sender has a single distribution point, it provides the most control over ordering region events as they are distributed across the WAN. However, a serial gateway sender provides only a finite amount of throughput, so it may be a performance bottleneck. As you add more regions and servers to the local cluster, you may need to configure additional serial gateway senders manually and isolate individual regions on specific serial gateway senders to handle the increased distribution traffic.</p>
<h2 id="parallel-gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_5E989CEDC4F147788B393588CFF17106" class="no-quick-link"></a>Parallel Gateway Senders</h2>
<p>A <em>parallel gateway sender</em> distributes region events from each of the Geode servers that host a partitioned region. For a partitioned region, each server that hosts primary buckets for the region uses its own logical queue to distribute events for those buckets. As you add new servers to scale the partitioned region, WAN distribution throughput scales automatically with each new instance of the parallel gateway sender.</p>
<p><img src="../../images/parallel_sender.png" id="topic_9AA37B43642D4DE19072CA3367C849BA__image_D3BEABE6269543758DD0FAF4FFCD713A" class="image" width="576" /></p>
<p>Replicated regions cannot use a parallel gateway sender.</p>
<p>Although parallel gateway senders provide the best throughput for WAN distribution, they provide less control for event ordering. Event ordering for the region as a whole is not preserved, because multiple Geode servers distribute the regions events at the same time. However, the ordering of events for a given partition can be preserved. See <a href="/docs/guide/115/developing/events/configure_multisite_event_messaging.html#configure_multisite_event_messaging">Configuring Multi-Site (WAN) Event Queues</a>.</p>
<h2 id="gateway-sender-queues"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_75F4588FEA404712963CE83FACB8ED1B" class="no-quick-link"></a>Gateway Sender Queues</h2>
<p>The queue that a gateway sender uses to distribute events to a remote site overflows to disk as needed, in order to prevent the Geode member from running out of memory. You can configure the maximum amount of memory that each queue uses, as well as the batch size and frequency for processing batches in the queue. You can also configure these queues to persist to disk, so that a gateway sender can pick up where it left off when its member shuts down and is later restarted.</p>
<p>By default gateway sender queues use 5 threads to dispatch queued events. With a serial gateway sender, the single, logical queue that is hosted on a member is divided into multiple physical queues (5 by default) each with a dedicated dispatcher thread. You can configure whether the threads dispatch queued events by key, by thread, or in the same order in which events were added to the queue. For a parallel gateway sender, each logical queue that is hosted on a member is processed simultaneously by multiple threads.</p>
<p>See <a href="/docs/guide/115/developing/events/configure_multisite_event_messaging.html#configure_multisite_event_messaging">Configuring Multi-Site (WAN) Event Queues</a>.</p>
<h2 id="timing-of-connections"><a id="GW_sender_connect" class="no-quick-link"></a>Timing of Connections</h2>
<p>When a gateway sender is created, it tries once to connect to
the gateway receiver.
If the gateway sender cannot connect,
the gateway sender does not retry until there is a batch of events to be sent.
At that time, the gateway sender tries again to connect to the gateway receiver.</p>
<p>During a normal initial startup,
one cluster site will start before the other cluster site.
The cluster site that starts first will not be connected
to the remote cluster site,
even after that other cluster site starts.
Only when data is to be sent will the connection be made.</p>
<h2 id="high-availability-for-gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_70A4D850A5404429AD5CB483D2053F1A" class="no-quick-link"></a>High Availability for Gateway Senders</h2>
<p>When a serial gateway sender configuration is deployed to multiple Geode members, only one &ldquo;primary&rdquo; sender is active at a given time. All other serial gateway sender instances are inactive &ldquo;secondaries&rdquo; that are available as backups if the primary sender shuts down. Geode designates the first gateway sender to start up as the primary sender, and all other senders become secondaries. As gateway senders start and shut down, Geode ensures that the oldest running gateway sender operates as the primary.</p>
<p>A parallel gateway sender is deployed to multiple Geode members by default, and each member that hosts primary buckets for a partitioned region actively distributes data to the remote Geode site. When you use parallel gateway senders, high availability for WAN distribution is provided if you configure the partitioned region for redundancy. With a redundant partitioned region, if a member that hosts primary buckets fails or is shut down, then a Geode member that hosts a redundant copy of those buckets takes over WAN distribution for those buckets.</p>
<h2 id="stopping-gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_aqm_2js_bq" class="no-quick-link"></a>Stopping Gateway Senders</h2>
<p>The scope of the gateway sender stop operation is the VM on which it is invoked. When you stop a parallel gateway sender using the <code>GatewaySender.stop()</code> or <code>gfsh stop gateway-sender</code>, the gateway sender is stopped on the individual node where this API is called. If the gateway sender is not parallel (serial), then the gateway sender will stop on the local VM, and the secondary gateway sender will become primary and start dispatching events. The gateway sender will wait for <code>GatewaySender.MAXIMUM_SHUTDOWN_WAIT_TIME</code> seconds before stopping itself (by default, this value is set to 0). You can set this Java system property when starting the server member in <code>gfsh</code>. If the Java system property is set to -1, then the gateway sender process will wait until all events are dispatched from the queue before stopping.</p>
<p><strong>Note:</strong>
Use extreme caution when stopping parallel gateway senders by using the <code>GatewaySender.stop()</code> API or <code>gfsh stop gateway-sender</code> command.</p>
<p>The API and gfsh command stops the parallel gateway sender in one member, which causes data loss because events to buckets in that member will be dropped by the stopped sender. The partitioned region does not failover in this scenario since the member is still running. Instead, to ensure that the remaining events are sent, shut down the entire member to ensure proper failover of partition region events. When a member with the stopped parallel sender is shut down, the other parallel gateway sender members hosting the partition region become primary and deliver the remaining events. In addition, if the whole cluster is brought down after stopping an individual parallel gateway sender, then events queued on that gateway sender can be lost.</p>
<h2 id="pausing-gateway-senders"><a id="topic_9AA37B43642D4DE19072CA3367C849BA__section_hdt_2js_bq" class="no-quick-link"></a>Pausing Gateway Senders</h2>
<p>Similar to stopping a gateway sender, the scope of pausing a gateway sender is the VM on which it is invoked. Pausing a gateway sender temporarily stops the dispatching of events from the underlying queue. Note that events are still queued into the queue. In case where the gateway sender is parallel, the gateway sender is paused on the individual node where the <code>GatewaySender.pause()</code> API is called or the <code>gfsh pause gateway-sender</code> command is invoked. The parallel gateway senders on other members can still dispatch events. In case where the paused gateway sender is not parallel (serial) and is not primary, then the primary gateway sender will still continue dispatching events. The batch of events that are in the process of being dispatched are dispatched regardless of the state of the pause operation. We can expect a maximum of one batch of events being received at the gateway receiver even after the gateway senders have been paused.</p>
<h2 id="gateway-receivers"><a id="topic_4DB3D9CF01AD4F4899457D1250468D00" class="no-quick-link"></a>Gateway Receivers</h2>
<p>A gateway receiver configures a physical connection for receiving region events from gateway senders in one or more remote Geode clusters.</p>
<p>A gateway receiver applies each region event to the same region or partition that is hosted in the local Geode member. (An exception is thrown if the receiver receives an event for a region that it does not define.)</p>
<p>Gateway senders use any available gateway receiver in the target cluster to send region events. You can deploy gateway receiver configurations to multiple Geode members as needed for high availability and load balancing, however you can only host one gateway receiver per member.</p>
<p>After you create a gateway receiver, you can configure the gateway receiver to start automatically or to require a manual start.
By default, the gateway receiver starts automatically (<code>manual-start</code> is set to false).</p>
<p>After you create and start a new gateway receiver at one WAN site, you can execute the <a href="/docs/guide/115/tools_modules/gfsh/command-pages/load-balance.html#concept_fn2_qls_5q">load-balance gateway-sender</a> command in <code>gfsh</code> for existing remote gateway senders so that the new receiver can pick up connections to gateway senders at different sites. You invoke this command on the gateway senders to redistribute connections more evenly among all the gateway receivers. Another option is to use the <code>GatewaySender.rebalance</code> Java API.</p>
<p>See <a href="/docs/guide/115/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system__section_E3A44F85359046C7ADD12861D261637B">Configure Gateway Receivers</a>.</p>
</main>
</div>
</div>
</div>
<div id="scrim"></div>
<div class="container">
<footer class="site-footer-links">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div class="copyright">
<a href='/'>Apache Geode Documentation</a>
&copy; 2022 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
</div>
<div class="support">
Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
</div>
</footer>
</div><!--end of container-->
</body>
</html>