Как реализовать поддержку активности в кластере статей
У меня есть несколько вершин, которые принадлежат одному кластеру, и они посылают приветственное сообщение по шине событий - сообщение, в основном, является именем отправляющей вертикали - вертике получателя, которая сохраняет сообщение на карте.
я хочу реализовать метод keep alive, поэтому, если я убью одного из отправителей, сообщение, отправленное получателю, будет удалено из карты получателя.
Я посмотрел на сайте Hazelcast, но я не нашел простой способ реализовать эту функцию.
ожидаемый результат - удаление записи отправителя с карты получателя, когда вертикал отправителя остановлен / уничтожен.
2 ответа
Вы можете зарегистрировать MembershipListener и прослушать изменения членства. Таким образом, вы можете удалить ранее добавленные сообщения участника, когда он покидает кластер.
Для этого может быть несколько способов, и один из них - использование Hazelcast ILock - это более простой подход, каждый член может получить блокировку (возможно, с именем вертикали), а когда участник покидает кластер, все блокировки, полученные этим мертвым членом будет автоматически удалено, так что ваше приложение может в любое время проверить, заблокировано оно или нет.