apache / ignite

Apache Ignite
https://ignite.apache.org/
Apache License 2.0
4.82k stars 1.9k forks source link

Ignite High Availability Questions #11399

Closed ratadepally closed 5 months ago

ratadepally commented 5 months ago

Hi,

We are new to Ignite and currently working on a use case to run it in cluster mode with 5 nodes for High Availability.

We have created cache with 2 Backups in Partitioned mode and enabled external storage with CacheJdbcBlobStoreFactory. In our case we are using Postgres Database as external DB.

Attaching sample cache config below

image

With CacheJdbcBlobStore configuration we are required to add the KEY_TYPE and VALUE_TYPE model classes on to the server manually and do a redeployment every time there is a model class change.

In real time we have Highly Transactional data and need Ignite cluster to be Highly Available all the time.

Below are the current steps we are following for this deployment.

  1. Whenever there is a model change we are bringing down 1 Node at a time with current 5 Node cluster and updating the Model Jars manually and restarting the node as there is no Hot Reload option for Ignite. During this process will there be any impact on the cache backup data which resides on different nodes?

  2. How to avoid a deployment/redeployment for such frequent model changes to make sure that Ignite remains Highly available?

  3. Does Ignite provides any recommendations or suggestions for such scenarios? Any help will be greatly appreciated.

Thanks in advance

ratadepally commented 5 months ago

Hi, Any suggestions on this please?

ptupitsyn commented 5 months ago
  1. There should not be any impact as long as 4 other nodes are online
  2. Implement your own Cache Store that works in Binary Mode and adapts to model changes in real time
ratadepally commented 5 months ago

Hi @ptupitsyn - thank you for your response