Скажем, у меня есть 2 узла с IP-адресами 192.168.5.101
и 192.168.5.102
. Я хотел бы запустить первый с некоторой задачей, инициализирующей распределенную карту, а через пару минут вторую (на этих двух хостах). Как мне настроить их, чтобы они могли видеть друг друга и делиться этой Картой?Как запустить два узла Hazelcast, которые используют единую структуру данных?
UPD. У меня был взгляд на документы Hazelcast и удалось запустить два экземпляра с помощью следующего кода:
Config config = new Config();
config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
config.getNetworkConfig().getJoin().getTcpIpConfig().addMember("192.168.4.101").addMember("192.168.4.102").setRequiredMember("192.168.4.101").setEnabled(true);
config.getNetworkConfig().getInterfaces().setEnabled(true).addInterface("192.168.4.*");
И где-то дальше:
HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance(config);
MultiMap<Long, Long> idToPids = hazelcast.getMultiMap("mapName");
IMap<Long, EntityDesc> idToDesc = hazelcast.getMap("multiMapName");
Все, что следуют некоторые задания, выполнение кода. Я запускаю этот класс на двух разных узлах, они успешно видят друг друга и общаются (даже, насколько я могу судить, поделиться ресурсами).
Но проблема в работе двух узлов кажется много медленнее, чем в случае одного локального узла. Что я делаю не так?
Да, у меня есть очевидные причины, но замедление действительно * значительно, поэтому я рассматриваю другие возможности. Какая другая информация могла бы дать вам больше намеков? Характер задач довольно прост - чтение из некоторых файлов в экземпляр «IMap». Каждый узел имеет набор файлов, и каждый файл читается в отдельном потоке одновременно. – tkroman
Я не знаю других возможностей, не получая доступа к некоторому коду :) Как врач может вылечить своих пациентов, если пациент не хочет посещать. – pveentjer
Я уже показывал * только * разницу между этими двумя версиями - это сетевая конфигурация и сам факт запуска двух экземпляров. Но, тем не менее, я верну вам некоторые фрагменты кода, как только вернусь к работе. Спасибо за внимание и внимание :) – tkroman