Since last updage of GKVS all connections and channels beween clients ans servers are protected by SSL/TLS. gRPC has the option to leverage SSL in protocol, that option is enforced for GKVS. because Generic Key Value Service is intended to transfer raw data between clients and servers.
How to configure
GKVS has a special module gkvs-keys. Grab your copy now!
Quick start steps:
- download gkvs-keys
- install certstrap
- run bootstrap.sh scrypt
- setup GKVS_KEYS env
Certstrap
Certstrap is not required, but simplifies keys/certs generation. All operations you can do by using OpenSSL. Grab your copy now!
Performance
GKVS showed good and acceptable results on peformance tests with enforced SSL. GKVS-java-client has a native implementation of SSL security provider, so makes Java really good on this.
Performance test:
for (int i = 0; i != 10000; ++i) {
String key = UUID.randomUUID().toString();
Gkvs.Client.put(TABLE, key, "value").sync();
Gkvs.Client.get(TABLE, key).sync().value();
Gkvs.Client.remove(TABLE, key);
}
Showed good results with enforced SSL:
30000 requests in 10132 milliseconds, 0.33773333333333333
That makes GKVS a good candidate for enterprise solutions.