Как хранить сложные структуры для graceful reboot?
Есть некая мапа операций (горутины, которые по таймеру выполняют какую-то работу). Достало то, что при ребуте сервиса приходится заново добавлять их в список и запускать.
Хочу сделать дублирование этих операций в какой-нибудь NoSQL бд и при старте сервиса лезть в бд, чтобы загрузить предыдущие активные.
Проблема в том, что сами операции содержат сложные структуры:
1. http.Client
2. rate.Limiter общий на все операции, у всех операций содержится указатель на один такой объект
3. Подключения к кошелькам
4. etc
Ну и, собственно, вопрос - как лучше сделать сохранение этих операций в бд, обратную загрузку в ОЗУ и запуск их горутин? Пока в голове только обертка над NoSQL, которая будет содержать эти сложные структуры и при загрузке операций присваивать каждой rate.Limiter и тд
Из распределенных, и не очень, zokeeper или consul.io. И тот и тот могут работать в стандалон режиме, зато получите, в случае, чего возможность разнести на кластер. Я за консул, тупо удобнее. Оба очень легковесеые и поддерживают атомарные операции.,что хорошо, когда модифицируете дин ключ из разных мест.