Database Reference
In-Depth Information
Routing strategies
Asyoulearnedin
section 11.2.3
,there'snoroutingorload-balancingfunctionalitybuiltin-
to an HA setup as far as the client is concerned; Neo4j expects clients to provide or imple-
ment their own, with tools such as HAProxy (
www.haproxy.org
)
proving a popular choice.
Regardless of the physical mechanism used, each application will need to decide on the
most appropriate strategy for the routing of the data.
Some options include
•
Routing requests based on some data characteristic
—This is the approach used
in our customer example.
•
Using sticky sessions
—This involves ensuring that requests from one client al-
ways go to the same server, no matter what was asked for. This may or may not be
appropriate depending on the circumstances.
•
Employing geography-based routing
—This involves ensuring that all requests
relatedto,ororiginatingfrom,acommongeographiclocationarealwaysroutedto
the same instance.
11.2.5. HA summary
As with many of the subjects discussed in this topic, we're only able to cover a small
fraction of what's actually available, and HA is no exception. For more information on
HA in general, see the “High Availability” chapter in the Neo4j Manual (chapter 23):
ht-
You'venowlearnedhowyoucanscaleandensureNeo4jcancontinuetooperateandserve
its clients, even in the event of a hardware failure. We'll now move on to the final section
in this chapter, which covers backing up and restoring the database when such disasters do
actually strike.