Для частного случая (из примера) могу предположить. В простейшем случае, если у нас пропала связь между двумя akka cluster node, но разные consumer'ы продолжают читать каждый свои партиции, то у них и не возникнет необходимости создавать state актор для данных из другой партиции. То есть, каждая нода обрабатывает только свои сущности (конкретные банки).
В случае, если еще и второй consumer отвалится, то да, спустя какое-то время kafka consumer group перебалансирует партиции на первую ноду и тут начнут обрабатываться данные и создаваться state акторы. Но в моем понимании, это произойдет только после того как вторая нода перестанет читает эти партиции и поэтому там не может возникнуть параллельного потока тех же данных.
Вообще, я понимаю, что после серии перебалансировок consumer-group и split brain для akka cluster может появиться ситуация, когда одни те же данные пройдут дважды по разным state. В нашем случае, операция обновления стейта является идепотентой и поэтому не так страшно если мы несколько раз получим одно и то же событие обновления state - лишь бы не потеряли и не переупорядочили.
В общем случае, в event driven предлагают использовать идемпотентные операции, механизмы дедубликации и механизмы компенсаций. Я предпочитаю верить, что в кокнертных ситуациях всегда можно найти решение.
Ну если вы согласны, то пусть! Только ни после вашего, ни после моего комментария, ни после это «прекрасной» статьи мир не изменится. Стоит вернуться в реальность.
Для меня эта статья выглядит как вопль человека бесконечно далекого от управления — «Я и майи друзя сазваниваться нихатим, делайтя сваи праехты как хатиде, я туд чтабы код пейсать». Для меня это отдает поговоркой «Моя хата с краю...».
Сразу видно, что автор думает только о себе. Созвонов созвона рознь. Нормальные синкапы должны проходить за 20 минут для 10 человек. А голосом это нужно в первую очередь потому, что большинство людей (по моему опыту) не умеют в текстовом виде нормально выражать свои мысли. Честно говоря и голосом то не все могут, но текстом у большинства получается сильно хуже.
Последняя часть выглядит как «я рассказываю таксисту/поварихе/доставщику/оператору про ошибку многопоточной синхронизации в приложении, а они даже вникнуть не пытаются, чтобы потом своим там передать».
Спасибо, так понятнее.
Поддерживаю, совершенно непонятный выпад в сторону параллелизма spark. Еще в первые вижу, чтобы driver и executor называли master и slave.
Наверное общего ответа для вас у меня нету.
Для частного случая (из примера) могу предположить. В простейшем случае, если у нас пропала связь между двумя akka cluster node, но разные consumer'ы продолжают читать каждый свои партиции, то у них и не возникнет необходимости создавать state актор для данных из другой партиции. То есть, каждая нода обрабатывает только свои сущности (конкретные банки).
В случае, если еще и второй consumer отвалится, то да, спустя какое-то время kafka consumer group перебалансирует партиции на первую ноду и тут начнут обрабатываться данные и создаваться state акторы. Но в моем понимании, это произойдет только после того как вторая нода перестанет читает эти партиции и поэтому там не может возникнуть параллельного потока тех же данных.
Вообще, я понимаю, что после серии перебалансировок consumer-group и split brain для akka cluster может появиться ситуация, когда одни те же данные пройдут дважды по разным state. В нашем случае, операция обновления стейта является идепотентой и поэтому не так страшно если мы несколько раз получим одно и то же событие обновления state - лишь бы не потеряли и не переупорядочили.
В общем случае, в event driven предлагают использовать идемпотентные операции, механизмы дедубликации и механизмы компенсаций. Я предпочитаю верить, что в кокнертных ситуациях всегда можно найти решение.
Для меня эта статья выглядит как вопль человека бесконечно далекого от управления — «Я и майи друзя сазваниваться нихатим, делайтя сваи праехты как хатиде, я туд чтабы код пейсать». Для меня это отдает поговоркой «Моя хата с краю...».
Никого не хочу обидеть, просто мое мнение.
Черт, а что уже пятница? Не успел все комменты прочитать — так какие же фломастеры красивее других?