У меня есть очередь Azure servicebus с включенным сеансом. Мне нужна какая-то форма службы, которая может читать из очереди, обрабатывать их и сохранять результат (в памяти для последующего извлечения). В нашей текущей архитектуре мы используем лазурную сервисную фабрику. У меня возникло несколько вопросов относительно того, какой из них выбрать сервис с отслеживанием состояния или без отслеживания состояния.
Если я использую службу с отслеживанием состояния, то, исходя из документации, которую я понимаю, служба будет работать на 1 первичном узле (при условии, что 1 раздел) и 2 активных вторичных узлах. Это означает, что если у меня есть кластер Service Fabric из 10 узлов, то эта служба с отслеживанием состояния будет в первую очередь использовать только один узел (VM).
Поэтому, если я добавлю слушателя к этой службе с отслеживанием состояния для чтения сообщений из очередей, тогда эта служба на основном узле будет читать сообщения из очередей, а все остальные 9 узлов не смогут использоваться. Это верно?
Если я использую службу без сохранения состояния, я могу создавать экземпляры на всех 10 узлах, и все они могут прослушивать сообщение в очередях и обрабатывать их параллельно. Однако я потеряю возможность сохранять результаты.
Пожалуйста, порекомендуйте.