Hey! My name is Sebastian and I mainly work on Infinispan project [1] focusing on OpenShift and Kubernetes deployment. Infinispan is a Data Grid (NoSQL database) where each server holds only a portion of the data set. It can be scaled out/in on demand.
Most of our client applications use custom TCP-based Hot Rod protocol [2] with topology information (the clients know which server to query in order to retrieve data within a single hop). This idea is a bit problematic when accessing data from the outside world (Client -> Internet -> Route -> Service -> One of the Pods). I was wondering if there is any type of idea/work/design around this topic? I think this kind of problems (stateful applications and intelligent clients) might be solved with PetSets and some enhancements to Services and Routes. However there are at least two big problems to overcome - how to route to a given Pod (which could possibly be solved by introducing some query params to the Route URL) and how to do discovery from outside world (Infinispan does this in Hot Rod PING operation, but I assume other applications might not have this type of functionality). We are also experimenting with HTTP/2 client (currently POC under development). Maybe routing with HTTP Headers would also be a good idea in the future (but it's nothing for certain at this point). Could you please advice me on this? Of course I volunteer to donate some designs, test cases and implementation (even though I'm not a Go developer but I would be happy to learn it) if needed. Thanks Sebastian [1] http://infinispan.org/ [2] http://infinispan.org/docs/stable/user_guide/user_guide.html#hot_rod_protocol
_______________________________________________ dev mailing list [email protected] http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
