Я думаю, что Hazelcast отлично работает для такого типа ситуаций.Это практически не требует настройки (более того, вам нужно добавить зависимости в jar Hazelcast).В следующем примере кода показано, как настроить общую Map
.
// Code in process 1
Config cfg = new Config();
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
Map<Integer, String> sharedData = instance.getMap("shared");
sharedData.put(1, "This is shared data");
// Code in process 2
Config cfg = new Config();
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
Map<Integer, String> sharedData = instance.getMap("shared");
String theSharedString = sharedData.get(1);
Hazelcast для поддержки различных общих структур данных, включая Map
, Queue
, List
, AtomicLong
, IdGenerator
и т. Д.. Документация хорошая и, по моему опыту, реализация надежная.