Задать вопрос
@LamerFromSpace
Студент-быдлокодер

Как хранить сложные структуры для graceful reboot?

Есть некая мапа операций (горутины, которые по таймеру выполняют какую-то работу). Достало то, что при ребуте сервиса приходится заново добавлять их в список и запускать.
Хочу сделать дублирование этих операций в какой-нибудь NoSQL бд и при старте сервиса лезть в бд, чтобы загрузить предыдущие активные.

Проблема в том, что сами операции содержат сложные структуры:
1. http.Client
2. rate.Limiter общий на все операции, у всех операций содержится указатель на один такой объект
3. Подключения к кошелькам
4. etc

Ну и, собственно, вопрос - как лучше сделать сохранение этих операций в бд, обратную загрузку в ОЗУ и запуск их горутин? Пока в голове только обертка над NoSQL, которая будет содержать эти сложные структуры и при загрузке операций присваивать каждой rate.Limiter и тд
  • Вопрос задан
  • 153 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Из распределенных, и не очень, zokeeper или consul.io. И тот и тот могут работать в стандалон режиме, зато получите, в случае, чего возможность разнести на кластер. Я за консул, тупо удобнее. Оба очень легковесеые и поддерживают атомарные операции.,что хорошо, когда модифицируете дин ключ из разных мест.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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