On 03/10/18 14:48, Rémy Maucherat wrote:
> Hi,
> 
> As I talked about during the latest TomcatCon (and the previous one in
> London actually ...), there's a cloud aware cluster members provider that
> can be contributed to Tomcat.
> 
> The current code is here: https://github.com/rmaucher/tomcat-in-the-cloud
> It uses Kubernetes to retrieve the members of a cluster, rather than
> multicast (which isn't available) or static (which is well ... static)
> member providers.
> 
> Credits:
> Maxime Beck and JGroups did the initial code
> Keiichi Fujino explained how to refactor it to fit in the Catalina cluster
> API
> and I refactored it as he told me to
> 
> Problems:
> Only does Kubernetes for now (which is likely ok since it's now widely
> available)

No objections on this point. A quick look at the code indicates
additional CloudMembershipProvider implementations should be fairly
simple to add as required.

> JSON parser dependency (org.json) that is likely not ok to have as is in
> the lib folder (solutions: package renaming using a script or include json
> code in Tomcat)

Because we get JSON from Kubernetes? Is there any other interface we
could use that doesn't return JSON? Are other providers (Docker is the
one that comes immediately to mind) also going to require JSON?

Other random thoughts:
- Make it an optional library that we depend on at compile time but
  don't ship? Fail start-up if it is not present when the
  CloudMembershipProvider is configured?
- Package the cloud membership provider stuff extras and include the
  JSON JAR in that?

It is only 64Kb (if I am looking at the correct JAR). I am a little
concerned about conflicts with web applications shipping alternative
versions of the JAR. We should be OK on this point as none of the
clustering objects that touch JSON should be visible to web applications.

> Needs more testing
> Tomcat 9.0.13 needed (with some fixmes related to that in the code)
> 
> Comments ?

It it is intended for inclusion in Tomcat then the sooner it is in the
Tomcat code base the better. It doesn't have to ship with a release
straight away if it isn't release ready.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to