Система распределенной обработки задач на нескольких компьютерах
У нас есть сервис. Сервис реализован на базе .NET 4.5. Состоит из.:
Web-часть (пользовательская и админская панели, а также API).
Распределенная система для обработки запросов API. Реализована на базе RabbitMQ, v3.6. Общая архитектура отображена здесь https://drive.google.com/file/d/0B1JwhoEWV0zDVUQ1OE1UeG5TSlE/view?usp=sharing . Все части работают под управлением системы Windows.
Работа распределенной системы
Сервер управления обработкой задач раздает задачи обработчикам. В качестве параметров передается тип задачи, а также Runtime параметры (специфические для конкретной задачи). Обработчик, который взял задачу,- выполняет задачу и возвращает текстовый ответ(результат работы).
Проблема
Проблема в том, что при одновременной передаче 3х и более задач(от сервера к обработчикам) происходит задержка(зависание). Т.е. при тестировании на 2х обработчиках и одновременно поставленных 2х задачах проблемы нет, когда у нас 4 обработчика(клиента) и мы ставим одновременно 4 задачи сервер как будто не справляется. Если сделать задержку в 0.5-1с и отправлять задания по очереди - такой проблемы нет. Возможно RabbitMQ не лучшая технология для такой задачи либо ошибка где то на нашей стороне.
Варианты решения которые видим
найти траблы существующего
взять другое решение
Просьба в заяввках оставлять свои предложения и желательно сразу уточнять ориентировочную стоимость и сроки.
-
8562 275 0 Добрый день! Готов посмотреть, в чем там проблема. Скорее всего, в коде, который вычитывает данные из очереди. Цена указана за один полный день работы. Если там простой фикс, то хватит 1 дня. Если надо будет реализовать многопоточную логику чтения из очереди - то это дня два. Ну и вы должны понимать, что использование очередей - это асинхронный механизм, и нельзя требовать от него скорости отклика, как у синхронных запросов.
О себе: более 10 лет опыта разработки под .NET (в основном, энтерпрайз сектор, сложные системы). Конкретно с RabbitMQ не работал, но работал с очередями в Azure/Amazon
-
1. Без досмотра кода оценить стоимость/сроки сложно...
2. Конкретно с RabbitMQ я не знаком, но судя по тестам (пример от 2012 года) даже с сохранением на диск скорость обработки 4+ тыс. сообщ./сек., из чего можно сделать вывод, что проблема где-то в вашем коде.
-
Пф, так вы раздаете задачи или сообщения? И что увас за система а-ля "франкенштейн" со сторонними решениями, которыми вы не в состоянии управлять? Вы или найдите разработчика под RabbitMQ, если у вас доступ к их технологиям (где четко прописаны их возможности), или разрабатывайти свою систему управления, если есть свой подходящий сервер. Очереди и ситемы массового обслуживания в универах преподают на первых курсах. А вообще сделайте втык менеджерам за атаз типа "а эта технология нам точно нужна?".
-
P. S. С такими проблемами ищите АСУшника на пару с тестировщиком. Первый оформит по-человечески вашу систему от А до Я, а второй попробует определить дыры в существующей системе, чтобы не пришлось все переписывать с нуля. Я - не тестировщик, но помочь разобраться в общих решениях могу, чисто из интереса к ситуации.
-
Актуальні фриланс-проєкти в категорії C#
Протестировать небольшое приложение на С# и отловить багиЕсть программа(с исходным кодом) , которая производит замену текста в текстовом поле в windows, с авторизацией на сайте, программа небольшая но требует отладки. Так же ищу фрилансера, с которым можно будет работать в дальнейшем по доработке этой программы. По оплате, ожидю ваши… C#, Microsoft .NET ∙ 2 ставки |
Инсталлер для WPF проекта
500 UAH
Создал приложение на WPF (Visual Studio 2022, .NET 7). Нужно иметь возможность: 1. превратить файлы приложения в пакет инсталляции (с возможностью задать иконку для инсталлера) 2. при установке инсталлер на компьютере пользователя запускает установку .net core 7, если он там не… C# |
Бот допомога запису в візовий центр VFSВсім привітання! Нашій команді потрібно створити бот, який зможе допомогти людям зареєструватися на подання документів на візу в візових центрах VFS. Основні напрямки, що цікавлять нас - візові центри в Індії. Тому буде необхідно підключитися через прокси, а також приймати OTP… C#, Розробка ботів ∙ 4 ставки |
Сніппет Zennoposter |
Нужен специалист по С# иReact сделать задание по ТО безопасности сайтаВиконати завдання по безпеці сайту. Виправити помилки та вразливість та вразливість на SQLI Есть ТО по безопасности сайта. Можливо частково знання реакт C#, Захист ПЗ та безпека ∙ 2 ставки |