Хранить состояние для сервиса + rabbitmq
От: Sharov Россия  
Дата: 04.07.17 13:31
Оценка:
Здравствуйте.

Имеется некий сервис,шина(rabbitq+masstransit) и сообщения. Изначально я предполагал, что если вдруг сервис упал, то при перезапуске все необработанные сообщения он возьмет из шины (т.к. msg ack у нас не будет, то сообщение никуда не денется).
Уточнив требования, выяснилось, что организация взаимодействия у нас построена следующим образом -- приходит сообщение о том, что необходимо начать некоторую операцию, я отвечаю что начал обрабатывать запрос. Далее возможно падение сервиса, после которого мне надо восстановить состояние (обрабатываемое сообщение(я)). Очередь исходное сообщение уже не хранит (было ack.). Соотв. я должен организовать простенькое хранилище, по типу какой инстанс сервиса чего обрабатывает и т.д.:
id, service id, message body, process status

Может еще что-то понадобиться.

Вопрос: как и на чем подобное хранение лучше организовать -- mysql, nosql. Есть что-то похожее изкаропки? Задача простенькая, решение наверняка сущ. не одно десятилетие. Не хотелось бы изобретать велосипед.

Заранее благодарю.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.