Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

У нас есть сервис. Сервис реализован на базе .NET 4.5. Состоит из.:

1. Web-часть (пользовательская и админская панели, а также API).

2. Распределенная система для обработки запросов 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 не лучшая технология для такой задачи либо ошибка где то на нашей стороне.

Варианты решения которые видим

- найти траблы существующего

- взять другое решение

Просьба в заявках оставлять свои предложения и желательно сразу уточнять ориентировочную стоимость и сроки.

7 лет назад
antlistopad
Антон 
38 летУкраина
8 лет в сервисе
Был
6 лет назад
1 отзыв