powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Понимание работы hazelcast
4 сообщений из 4, страница 1 из 1
Понимание работы hazelcast
    #39389736
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые гуру, я с hazelcast только начинаю работать поэтому возможно мои вопросы покажутся тривиальными:

Допустим у нас есть 2 ноды и hazelcast в embeeded режиме: н1 и н2, есть какая-то мапа и данные распределились по обеим нодам, у мапы 1 синхронный бекап. Теперь я находясь в н1 я хочу получить по ключу данные которые лежат в н2, я обращаюсь к мапе, hazelcast понимает что данные на другой ноде, обращается к ней, но в этот самый момент н2 падает, что мне будет возвращено в итоге как результат метода get? Будет ли сразу начат механизм исключения не отвечающей ноды из кластера?
Есть 2 физические машины, на каждой из машин будут запущены разные сервисы. К примеру на машине есть сервис для работы с пользователями и сервис билинга. На второй машине так же присутствуют эти же сервисы для отказоустойчивости. Синхронизация между одинаковыми сервисами идет через hazelcast и каждый тип сервиса использует embeeded режим. Но сервис с пользователями создается instance hazelcast с groupName: user, а биллинг соответственно billing. При этом настойки сети у hazelcasta независимо от типа сервиса одинаковые, используют TcpIpConfig и ссылаются друг на друга. Теперь скажем в сервисе по работе с пользователями я использую IExecutorService и выполняю разные таски и так же в сервисе биллинга, но такси другие. Не случится ли такого, что таск предназначенный для работы внутри сервиса пользователей, попадет в билинг(будет передан сервису билинга)?
Правильно ли я понимаю, что в hazelcast кластере все узлы соединены со всеми? Как в данном случаи работает механизм исключения ноды из-за пропущенных heartbeat если нет мастера? Кто принимает данные решение?
Правильно ли я понимаю, что для определенных мапов можно настроить такой режим что данные в них будут сохраняться только если большинство участников кластера подтвердили это? CP в CAP теореме, тогда как по дефолту мапы работают как AP?
Правильно ли я понимаю, что когда мы добавляем слушатель для мапы к примеру на добавление элемента, то его код отправляется на все ноды кластера и потом уже на конкретной ноде когда происходит вставка данных в ее локальную мапу, логика hazelcast видит что слушатель есть и что был добавлен с такой-то машины и посылает на эту машину событие?
Правильно ли я понимаю, что при старте приложения если hazelcast используется в embeeded режиме, то пока нода не задеплоится, в кластере приложение как бы не работает, то есть не будут в мапу ходить put-get и обращающийся поток будет просто висеть запаркованным в системе? А если нода уходит из кластера и оставшимся нужно перестроить кеш у них операции с hazelcast «встают на паузу»? Можете объяснить как это работает?
Если не сложно, опишите пожалуйста как работает DurableExecutorService, особенно при разрыве сетти или падении выполняющей ноды,как на второй ноде происходит понимания этого и запуск таска? Я читал в документации про подмену значений в кольцевом буфере и т. д., но к сожалению не полностью это понял.
Заранее благодарен
...
Рейтинг: 0 / 0
Понимание работы hazelcast
    #39389750
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения не отформатировла текст выше, поэтому вставлю его же, но в читаемом виде ниже:

1. Допустим у нас есть 2 ноды и hazelcast в embedded режиме: н1 и н2, есть какая-то мапа и данные распределились по обеим нодам, у мапы 1 синхронный бекап. Теперь я находясь в н1 я хочу получить по ключу данные которые лежат в н2, я обращаюсь к мапе, hazelcast понимает что данные на другой ноде, обращается к ней, но в этот самый момент н2 падает, что мне будет возвращено в итоге как результат метода get? Будет ли сразу начат механизм исключения не отвечающей ноды из кластера?

2. Правильно ли я понимаю, что в hazelcast кластере все узлы соединены со всеми? Как в данном случаи работает механизм исключения ноды из-за пропущенных heartbeat если нет мастера? Кто принимает данные решение?

3. Правильно ли я понимаю, что когда мы добавляем слушатель для мапы к примеру на добавление элемента, то его код отправляется на все ноды кластера и потом уже на конкретной ноде когда происходит вставка данных в ее локальную мапу, логика hazelcast видит что слушатель есть и что был добавлен с такой-то машины и посылает на эту машину событие?

4. Правильно ли я понимаю, что при старте приложения если hazelcast используется в embedded режиме, то пока нода не задеплоится, в кластере приложение как бы не работает, то есть не будут в мапу ходить put-get и обращающийся поток будет просто висеть запаркованным в системе? А если нода уходит из кластера и оставшимся нужно перестроить кеш у них операции с hazelcast «встают на паузу»? Можете объяснить как это работает?

5. Если не сложно, опишите пожалуйста как работает DurableExecutorService, особенно при разрыве сетти или падении выполняющей ноды,как на второй ноде происходит понимания этого и запуск таска? Я читал в документации про подмену значений в кольцевом буфере и т. д., но к сожалению не полностью это понял.
Заранее благодарен
...
Рейтинг: 0 / 0
Понимание работы hazelcast
    #39570034
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slippery,

тоже начал заниматься hazelcast - разберусь и постараюсь ответить на вопросы, может, кому пригодится
...
Рейтинг: 0 / 0
Понимание работы hazelcast
    #39570392
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Понимание работы hazelcast
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]