@LamerFromSpace
Студент-быдлокодер

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
SberDevices Москва
от 200 000 до 400 000 ₽
SberTech Ростов-на-Дону
от 218 000 ₽
КЛЮЧАВТО Краснодар
от 150 000 до 200 000 ₽