As far as I can see aerospike client implementations are meant to keep open, I mean they are not just dummy clients and they are aware of the cluster and has connection pooling and everything. Which is nice but in our case we can not keep connections open because we are planning to connect Aerospike from AWS lambdas, which means every second we will open 10s of new connections and close them. I’ve seen couple of discussions having connection problems and I just wanted to check is there anyone using Aerospike in a similar way and how is the performance, in terms of stability and time.
Thanks
All of our clients are ‘smart’ clients meaning that they discover the cluster from a bootstrap server node list and then discover which server nodes own what data so that reading and writing only requires one hop. I’m not an expert in AWS lambdas my no means but I don’t believe it will be able to benefit from this design.
That said, we recently released our Rest Client, which I believe could provide a solution to this problem. You would need to have a group of rest clients running as a service and you lambdas would send requests to them.
@rmarks, have any suggestions?
So I need another cluster like system for rest-clients in front of aerospike cluster?
Lambdas will connect to these rest-client servers and from there to aerospike.
Is not it making a simple problem more complicated? I hope there is another solution for that or maybe it is not a problem at all (every second opening/closing 10s of connections from lambda)?
We currently do not have a non-cluster aware client mode which would be the ‘simple’ solution for lambda but not useful for anything else really.