У нас вчера была ужасная проблема / опыт, когда мы пытались поменять местами нашу промежуточную <--> производственную роль.
Вот наша установка:
У нас есть рабочая роль, собирающая сообщения из очереди. Эти сообщения обрабатываются ролью. (Вставки для хранения таблиц, выбор БД и т. Д.). Это может занять 1-3 секунды на сообщение очереди в зависимости от того, сколько сообщений в хранилище таблиц ему нужно сделать. Он удалит сообщение, когда все будет готово.
Проблема при обмене местами:
Когда наш промежуточный проект был запущен в оперативный режим, наша рабочая роль начала выдавать ошибку.
Когда роль хотела обработать сообщения очереди, она выдавала постоянный поток ошибок « EntityAlreadyExists ». Из-за этих ошибок сообщения очереди не удалялись. Это заставляло сообщения очереди помещаться обратно в очередь и снова обрабатываться, и так далее ....
При просмотре этих сообщений очереди и анализе того, что с ними произойдет, мы увидели, что они действительно были обработаны, но не удалены.
Проблема не исчезла при удалении этих ошибочных сообщений. Новые сообщения в очереди также не обрабатывались, поскольку они еще не обрабатывались и не добавлялись записи хранилища таблиц, что звучит очень странно.
При удалении промежуточного и производственного этапов и повторной публикации в продакшн все стало работать нормально.
Возможные проблемы?
Мы мало 2 понятия не имеем, что произошло на самом деле.
Возможное (ые) решение (я)?
У нас есть некоторые идеи, как решить Эта проблема'.
Несколько ролей
Полагаю, у нас возникнет такая же проблема при назначении нескольких ролей?
Большое спасибо.
РЕДАКТИРОВАТЬ 24/02/2012 - Дополнительная информация