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

Система распределенной обработки задач на нескольких компьютерах

истекло время актуальности


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


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

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

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


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



Сделать ставку!

Заказчик не желает делать предоплату? Предложите оплату через Сейф, чтобы избежать возможного мошенничества.

  1. 2 дня1000 ₴
    Влад Новгородов
     394   7   0

    Добрый день! Готов посмотреть, в чем там проблема. Скорее всего, в коде, который вычитывает данные из очереди. Цена указана за один полный день работы. Если там простой фикс, то хватит 1 дня. Если надо будет реализовать многопоточную логику чтения из очереди - то это дня два. Ну и вы должны понимать, что использование очередей - это асинхронный механизм, и нельзя требовать от него скорости отклика, как у синхронных запросов.

    О себе: более 10 лет опыта разработки под .NET (в основном, энтерпрайз сектор, сложные системы). Конкретно с RabbitMQ не работал, но работал с очередями в Azure/Amazon

    Украина Киев | 11 октября в 20:57 |
  • Anton Kravtsov
    Пожаловаться | 11 октября в 14:32 |

    1. Без досмотра кода оценить стоимость/сроки сложно...

    2. Конкретно с RabbitMQ я не знаком, но судя по тестам (пример от 2012 года) даже с сохранением на диск скорость обработки 4+ тыс. сообщ./сек., из чего можно сделать вывод, что проблема где-то в вашем коде.

  • Stas Ovan
    Пожаловаться | 11 октября в 16:22 |

    Почитайте алгоритмы о философах, едящих спагетти )))

    В вашем случае надо использовать систему семафоров.

  • Атон Солодовой — заказчик проекта
    Пожаловаться | 11 октября в 18:41 |

    может про кроликов?

    p.s. мой ответ неясен? ну, врочем, также как и ваш)


  • Stas Ovan
    Пожаловаться | 11 октября в 18:55 |

    Ясно. Ясно что вы нуль в программировании и это плохо для создания более-менее ясного техзадания.

  • Пф, так вы раздаете задачи или сообщения? И что увас за система а-ля "франкенштейн" со сторонними решениями, которыми вы не в состоянии управлять? Вы или найдите разработчика под RabbitMQ, если у вас доступ к их технологиям (где четко прописаны их возможности), или разрабатывайти свою систему управления, если есть свой подходящий сервер. Очереди и ситемы массового обслуживания в универах преподают на первых курсах. А вообще сделайте втык менеджерам за атаз типа "а эта технология нам точно нужна?".

  • P. S. С такими проблемами ищите АСУшника на пару с тестировщиком. Первый оформит по-человечески вашу систему от А до Я, а второй попробует определить дыры в существующей системе, чтобы не пришлось все переписывать с нуля. Я - не тестировщик, но помочь разобраться в общих решениях могу, чисто из интереса к ситуации.

  • Добавить

Заказчик
Атон Солодовой
Украина Украина  4   0
Проект опубликован
11 октября в 12:29
60 просмотров
Способы оплаты
Поделиться