java - Choosing a distributed shared memory solution -


I have the task of creating a prototype for the large scale Scalable Distributed Shared Memory (DSM) app. The prototype only acts as a proof-of-concept, but I want to spend my time most effectively, which will be used later in the real solution.

The purpose of this solution is to take data input from an external source, brain churn it and provide results for many headquarters. Those "frontends" take data from the cache and work without additional processing. The amount of hit hits on this data can be literally millions per second.

The data is very unstable; It (and does) can change very fast, however, the frontend should look at "old" data until the latest process and cached. Processing and writing are done by a single (unnecessary) node while others nodes only read data. In other words: No read-through behavior.

I was looking for a solution like this specifically all does not meet our requirements which are listed below:

  1. At least Java Client API is minimized because the remaining applications are written in Java and we are experienced for Java developers;
  2. The solution should be completely elastic : It is possible to add new nodes without restarting the other nodes in the cluster;
  3. Solution failover . Yes, I think that this means that some upper part, but the overall service data size is not big (1g max) so it should not be a problem. By "failure" I mean hardcoding / unchanged server IP address (SAS) such as when a node goes down into MacCad clients;
  4. Ideally it is possible to specify the degree of data overlapping (such as how many copies of the same data should be stored in the DSM cluster);
  5. There is no need to permanently store all data, but after some data processing may be required (such as for serialization DB).
  6. Price . Obviously we prefer free / open source, but if any solution is worth it, then we are happy to pay a reasonable amount.
  7. The whole thing is to be hosted in our data centers , so Amazon Saipaldeeb's Saas Prasad is out of the area. We will only consider this if no other option will be available.
  8. Ideally the solution will be strictly consistent (as in CAP);

Thanks in advance for any idea.

View at a glance This is a pure Java, open source (Apache license) high scalable in-memory data grid The product is. It provides 7X24 support and it resolves all your problems which I tried to explain to all of the following:

  1. Its original Java client
  2. It is 100% dynamic Dynamically add and remove nodes No need to change anything
  3. Then everything is dynamic.
  4. You can configure the number of backup nodes.
  5. HazelCast Support Continuity
  6. Anyone who has Hajj free offer (open source) and offers enterprise level support.
  7. Hasalcast is a single jar file. To use super easy simply add jar to your square path Take a look at the screen cast on the main page.
  8. Hazelcast is strictly consistent. You can never read stale data

Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -