Это хорошая идея использовать источник событий для распределенных транзакций?

В основном это проблема в Python 3. Я надеюсь, что они меняют ее.

Bugged (работает в версии 2.7):

x = 4
y = [x+i for i in range(1)]

Чтобы обойти это (работает в 3+) :

x = 4
y = (lambda x=x: [x+i for i in range(1)])()
1
задан warchantua 16 January 2019 в 18:16
поделиться

1 ответ

Как обычно решается эта проблема?

Использование одиночного писателя - хорошее решение. Таким образом вы гарантируете, что не дублируете работу, и обновляете кластеры с сохранением состояния, используя события в том порядке, в котором они были записаны в хранилище событий.

Я действительно не хочу создавать синглтон-подписчика для каждого кластера, который прослушивает обновления, он делает этот синглтон единственной точкой отказа ...

Это можно легко смягчить, потому что эта одноэлементная служба не имеет состояния, поэтому ее можно легко перезапустить или даже переместить на другой хост в случае сбоя. Если вы используете контейнерный оркестратор (например, Docker Swarm или Kubernetes), это очень просто.

0
ответ дан Constantin Galbenu 16 January 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: