Reputation: 117
Hi I'm new in aerospike DB. so I have some quick questions.
So when I will configuration in client, which IP address should I use as cluster ip? should I use 3 IP or 1 IP.
suppose i have confiogured client only one IP (192.168.1.2) as a cluster IP, and if 192.168.1.2 goes down then what happend? because my client knows one IPs but now it is dead.
all my node configuration file. but when I will add another new node into the cluster, should I need to change manually all my node to add
mesh-seed-address-port 192.168.1.5 3002 (new node IP)
I got 1 million TPS in a single instant when i do benchmark. if I make a cluster with 3 node, then what does it mean? I will get how much throughput? is it 3 million TPS? (Please describe this things).
About loadbalancing should i use AWS elastic Load balance (ELB)? or any other good method?
I will use aerospike for a chatting application (like, whatsapp, viber) and i will configure all things in AWS. so what will be the best storege engine choise. (I need fast read/write).
If you have any better suggestion pls suggest me.
Upvotes: 4
Views: 775
Reputation: 2939
(I work at Aerospike)
You can use either IP as seed, but better use multiple ones... This is used only for the initial connection to the cluster when the client starts up. So if one node IP is used as seed in the client and the next time the client is restarted that node is down, the client will not be able to connect. See details on this page.
You don't need to change the configuration of existing nodes when adding new nodes to the cluster. The newly added node should have one of the existing node in the cluster in its configuration to join. It is best practice to keep the configuration files in sync with multiple nodes specified, so that in case of a node restart, the node can still find at least one node in the cluster based on its configuration.
3- Write workloads on a single node cluster are not representative of the performance when scaling up with multiple nodes with replication factor >= 2. When writing on a single node cluster, you will have to write only 1 copy. When writing on a 2 node cluster with replication factor 2, by default the cluster will write both copies (with network hop between master and replica) before returning, so you are doing more then twice the work. A 2 node cluster is much more representative for a base to performance that can be extrapolated linearly when adding more nodes (assuming no bottlenecks are hit on network or on client or server hosts). Read workloads can be extrapolated in general from one node... but the recommendation is to usually do benchmarks on at least a 3 node cluster with a representative workload (matching read/write ration, record size, etc...).
4- The Aerospike smart client take care of the sharding and you should not use any loadbalancer to get to the cluster from the hosts running the aerospike smart clients. This is a good read to understand this.
5- This is too general of a question to easily answer... You would have to do some benchmark and sizing based on your workload. Feel free to check the AWS deployment guide. This is something that will be very soon enhanced with more details that should help you.
Upvotes: 4