Я знаю, что это две разные системы для немного разных целей, но в какой-то степени в некоторых ситуациях они могут служить одним и тем же целям, и мне интересно, насколько легко было бы перенести некоторые из наших сервисов с NServiceBus (NSB) на Orleans или MS. Сервисная ткань. Я потратил несколько часов на изучение на высоком уровне того, что такое Orleans и MS Service Fabric, но некоторые вопросы остались без ответа. Могу ли я перечислить некоторые функции NSB, которые я хочу сохранить при миграции, и я надеюсь, что вы могли бы сказать, поддерживают ли Orleans или Service Fabric что-то подобное:
В NSB мы можем установить максимальное количество потоков, в которых должна работать служба, чтобы мы могли отдавать приоритет службам с низкой задержкой по сравнению с менее важными службами с высокой задержкой. Могу ли я настроить максимальное количество экземпляров на одном или нескольких серверах приложений, под которыми должно работать зерно Orlean? Я говорю о зернах с разными идентификаторами
Некоторые из наших сервисов зависят от вызовов сторонних сервисов, которые могут быть временно недоступны. В случае, если выдается исключение, и сообщение выполняется через настроенное количество повторных попыток. Если все дальнейшие попытки обработать сообщение завершены (сервис по-прежнему недоступен), сообщение помещается в очередь ошибок, где мы можем его увидеть и повторно обработать в любое время, когда сторонний сервис вернется в нужное русло. Я знаю, что мы можем внедрить дополнительные инструменты поверх Orleans, чтобы иметь аналогичную систему, но предлагают ли Orleans или MS Service Fabric что-то из коробки с точки зрения повторных попыток сообщений и хранения неудачных сообщений/вызовов в специальном месте или в особом состоянии?
В редких случаях, когда наша система перегружена входящими сообщениями, инициированными клиентами, сообщения застревают в очереди входящих сообщений, и система берет на себя все, что может, для обработки, а все остальные сообщения ожидают своей очереди и обрабатываются в соответствии с принципом «первым пришел – принцип «первым обслужен». Я предполагаю, что Орлеан не может удовлетворить это требование, так как это больше похоже на чистую концепцию организации очередей, но на всякий случай, может быть, у кого-то будет идея о том, как ее можно перенести в Орлеан, например, интегрировать в какую-то систему очередей.