Issues

Select view

Select search mode

 
23 of 23

Support clustered deployment for Zanata Platform

Description

To run well on top of platforms like OpenShift, Zanata needs to support high availability, with automatic fail-over of the application when a node goes down, without affecting availability of the service as a whole.

This will require moving state out of the Zanata process (singletons) into eg replicated Infinispan caches, or into the database.

Data stored in the file system may need to be moved (perhaps to a database), or if we use shared filesystems, we need to ensure that all nodes co-operate when using the filesystem.

Lower priority: centralised management of logging, performance stats (JavaMelody), performance enhancements (eg eliminating some replicated caches, or accepting reduced/eventual cache consistency).

Details

Assignee

Reporter

Labels

Tested Version/s

Components

Priority

Epic Name

More fields

Created 20 November 2017 at 06:12
Updated 2 March 2018 at 08:36

Activity

Show:

Oytun Tez25 December 2017 at 15:51

Hi everyone,

We've been trying to clusterize Zanata with Docker infra and we encountered countless problems. We determined the cause of the problem was around Wildfly, AWS and JGroups:

  • When used 0.0.0.0 as bind address, clustering fails.

  • jGroups isn't able to connect with AWS's public IPs. When we specify the public address of the Docker host, jGroups will fail to cluster with this public IP. It works with 0.0.0.0, but then it works only as a single node as it fails to communicate with other nodes which also bind 0.0.0.0

  • Infinispan functions properly. We also tried putting Infinispan in an external service. jGroups was still problematic.

  • We are now testing bare EC2 instances without Docker. This is very sad, but at this point, this is the only solution.

  • Wildfly says support for this kind of architecture (decentralized Docker containers) will arrive in Wildfly 12, but no certain timeline.

Do you have any insights so far? How does Zanata itself solve scalability? Horizontal scaling only?

We welcome any suggestion at this point. We will keep you up to date with our efforts!

Oytun

Former user22 November 2017 at 21:54

Any time estimate about this?

We have no estimate for this epic as it's related tasks can increase as we working towards it.

We've been trying this over Docker, so many barriers to solve one by one --yet we are trying to solve them all. (but still couldn't make JGroups work properly...)

Zanata are be able to run in docker container without clustering (single node). See https://hub.docker.com/r/zanata/server/

Once we get this working, we will share our server configs with you guys – perhaps you can modify them, if necessary, for OpenShift.

Thanks!

In the meantime, if you have any changes that are related to clustering enablement, feel free to create a Pull request against our repo.

Oytun Tez22 November 2017 at 19:47

Once we get this working, we will share our server configs with you guys – perhaps you can modify them, if necessary, for OpenShift.

Oytun Tez22 November 2017 at 19:40

Any time estimate about this?

We've been trying this over Docker, so many barriers to solve one by one --yet we are trying to solve them all. (but still couldn't make JGroups work properly...)

Loading...