Know How Guide and Hands on Guide for AWS
Running Neo4j Graph Databases on AWS whitepaper
Port | Process |
---|---|
7474 | The Neo4j HTTP REST API and web frontend are available at this port. |
7473 | The Neo4j HTTPS REST API and web frontend are available at this port. |
7687 | The binary protocol endpoint. Used by application drivers to query and transact with the database. |
To optimize network performance, we suggest using EC2 instances that support enhanced networking.
Neo4j HA clusters cross multi-Availability Zone (AZ)
Neo4j is a shared-nothing architecture and can therefore happily consume instance-based storage.
Data Consistency
Neo4j is an ACID transactional database. Any abrupt shutdown of an instance, such as when an EC2 instance unexpectedly dies, will leave the database files in an inconsistent but repairable state. Hence, when booting the new Neo4j instance using files on the existing EBS volume, the database will first have to recover to a consistent state before joining the cluster.
Neo4j uses an HA cluster with a pattern called “Cache Sharding” to maintain high performance traversals with a dataset that substantially exceeds main memory space.
Scaling for performance is simplified by adding more instances Cache Sharding: characteristics of the data set such as username work well with this scheme, and sticky sessions with round-robin load balancing work in almost all domains.
[Neo4j .log]
datetime_format = %Y-%m-%d %H:%M:%S%f%z
file = /home/ec2-user/Neo4j 3/Neo4j -enterprise-3.0.0-RC1/logs/Neo4j .log
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /Neo4j /logs