Я пытаюсь проиллюстрировать концепцию распределенных приложений, используя Erlang.Моя система в настоящее время имеет один сервер и один банкомат.Я стараюсь сделать его максимально простым.
На данный момент мое приложение работает локально.Я использую gen_server
для клиент-серверных отношений между банковским сервером и банкоматом.У меня также есть модуль gen_fsm
, чтобы предложить различные состояния, в которых находится мой банкомат.Для хранения любых данных я использую модуль dict
(я не хочу усложнять использование баз данных).Чтобы поддержать процессы (gen_server
и gen_fsm
), я использую процесс supervisor
.Я обернул все модули как приложение, но пока все локально.Любые идеи будут высоко оценены.
Я думал о том, чтобы запустить одно и то же приложение на двух разных узлах и проиллюстрировать распределенную концепцию для использования какого-либо механизма переключения при отказе / переключения, но у меня нет идей, какие модули использовать.
- Обязательно ли использовать целевые системы? (В какой-то момент я должен выполнить горячее обновление приложения)
- Какой правильный порядок действий для этих вещей: сначала обновитьа затем распространять?
Я был бы очень признателен, если бы кто-то мог дать мне некоторые идеи о том, как выполнить все эти вещи.