Forum Stats

  • 3,815,198 Users
  • 2,258,977 Discussions
  • 7,892,988 Comments

Discussions

Federated Caching's Eventual Consistency : A potential solution federating Incubator Command pattern

User_AA37N
User_AA37N Member Posts: 10 Red Ribbon
edited Jan 28, 2019 9:50AM in Coherence Support

Problem Summary

---------------------------------------------------

Federated Caching Service Data Coherence solution approach (Similar to Cassandra WRITE QUORUM)

Problem Description

---------------------------------------------------

Federated Caching Service is unable to process massive exchange of data between 2 sites approximately (16GB)

I have deployed Federated Caching in production but some services get marked as Error Status as soon as Federated services

reached the following peak load:

Bytes Sent/sec : 8667033

Current Msgs Sent/sec : 40

Throughput Usage: 63 Mbps

Total Bytes Sent: 16GB

Total Entry Sent: 57 Millions

Total Records Sent: 10 Millions

Total Message Sent: 691,726

I happens when a massive data loading from database is performed in one site and later one is replicated to the

remote site using Federated Caching. A total of 16GB of data is being sent over the network channel.

This is basically data to be used actively by consumer clients at both sites in active/active mode willing to perform calculations over them.

Different clients run at the same time and we would like to improve data coherence across to sites remotely with Federated Caching.

The other solution is hide the problems caused for Eventual Consistency inherent to Federated Caching Feature

As an alternative I am considering federate a cache that  hold the load actions instead of the data itself.

In a few words use the Coherence Command pattern and federate the  cache used to store the commands to the remote site.

That way when the federated command reach the remote site the data loading process can be launch at the same time.

Achieving something that could help to increase data coherence  between the two sites.

The small variation here is that the Command invoked in the primary site will not  finish his execution till it has received confirmation

that the Remote Command executed in the REmote Site  have finished to perform the load. This concept is similar to Cassandra WRITE Quorum.

Any opinion about the above solution is greatly appreciated.

Regards

Michel

Answers