EclipseStore storage in HA setup #140
Replies: 4 comments 11 replies
-
Hello, I apologize for overlooking this query. Queries are not executed directly on the storage but rather on the data in memory. The storage serves primarily as a persistence layer. Essentially, the architecture should be based on a shared data graph with lock-based concurrency control mechanisms, such as reentrant locks, for managing concurrent access. |
Beta Was this translation helpful? Give feedback.
-
Thanks, Simon 😃 My question was more directed to the team / Jonas. Basically I think we have the same question. You have a load balancer / reverse proxy and at least 2 servers (cluster). How to sync the object graphs and how to replicate the files so you can failover in case something bad happens. JTA and a transaction manager like naranya, atomikos or bitronix - maybe combined with deltaspikes transactional annotation - come into my mind to coordinate and sync the eclipsestore data store. Think this should use reentrant locks and avoid conflicts... For the filesystem high availability there are some possibilities like opensync or whatever? Anyone tried something like this? Where are pitfalls? Does this make sense at all? |
Beta Was this translation helpful? Give feedback.
-
Hello, |
Beta Was this translation helpful? Give feedback.
-
I asked similar question some while ago. So, if the Microstream team does not have plans/desire/time to include simple HA API in the ES roadmap, I plan on exploring the following soon:
This may sound easy, but is a lot of work, so I will need collaborators... but will be waste of time if the Microstream team decides to offer something like that as part of ES. |
Beta Was this translation helpful? Give feedback.
-
Hi folks,
I'm reasoning about the setup of an application using EclipseStore as a (projection) persistence. In doing so I'll have a component - let call it projector, responsible for receiving some data and creating a in-memory domain model. In addition, there will be some other components - let call them query handlers which will have a read only access to the in-memory domain models and are solely responsible for answering queries.
As far as I understand correctly, there is at most one component with running
StorageManager
that can have write access to a physical store (independent on the storage technology), so in my scenario, I would configure the projector to be this one component and configure the query handlers to use read-onlyStoreManagers
.Is my assumption correct?
If yes - I wonder what to do if this setup must run HA - so I'll have two hot nodes running projector components. Even if I can make sure (e.g. by routing) that the projection is executed on one node, can I still start both nodes and how the take over can work?
Very interested in the architectural / framework approach for this use case.
Thanks,
Simon
Beta Was this translation helpful? Give feedback.
All reactions