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

Reply via email to