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

Необходимо сделать вебсервис.Пользователь может в рамках вебсервиса настроить выполнение сервисом на регулярной основе нужных пользователю задач. Например, пользователь может настроить задачу, который должна запускаться вебсервисом каждый день с понедельника по пятницу с 7:00 до 21:00 каждые 2 часа. 

Архитектура системы. Вижу примерно следующую архитектуру, позволяющую реализовать вышеописанную систему: 

prntscr.com/9z8wex 

Вкратце опишу. Клиент (Customer) авторизуется в User Panel. Там он создает и настраивает задачу. Эта информация попадает в Customer task config database. Тут же в настройках задачи задается расписание запуска. Эта информация попадает в Task Schedule Database. Controller Server выступает чем то вроде планировщика Windows + системой очереди (вроде MSMQ). В соответствии с настройками запуска в Task Schedule Database, Controller Server периодически добавляем задачи в очередь (вроде MSMQ). Каждый отдельный экземпляр Worker регулярно проверяет очередь на появление задач и при появлении задачи забирает ее из очереди и начинает выполнять. Результаты выполнения задачи отправляются в Processing result database, откуда их может просмотреть клиент в виде отчета в своей UserPanel. 

Самое главное требование к системе – возможность в будущем в рамках данной архитектуры и финансовых вложений в аппаратные ресурсы сделать ее отказоустойчивой. В нарисованной мною модели мне неясно как сделать отказоустойчивым Controller Server (то есть как его можно клонировать на несколько разных машин). Все остальные участники системы – с ними проще: сайт можно разместить на облаке; Worker машин несколько, если одна в какой то момент выпадет – ничего страшного. Все используемые базы можно разместить на кластерах. 

Тезисы. Заметим, мы не уверены, что все тезисы важны, но все же их перечислим. 

1.Возможность прогнозирования нагрузки. Поскольку пользовательские задачи поставлены на расписание, у нас есть возможность прогнозировать с большой долей достоверности нагрузку на систему обработчиков в определенный промежуток времени с точностью около получаса. 

2.Мы понимаем, что в мире множество вебсервисов и скорее всего существует большое количество готовых решений подобных задач. Предпочтение отдаем именно готовым. Изобретать велосипед не хотим. Если вы знаете готовые фреймворки или технологии для подобной реализации, будет просто отлично. 

3.Облака или не облака? С учетом возможности прогнозирования нагрузки задумывались об использовании облачных решений вроде Azure для расположения на них обработчиков. Чтобы это работало примерно по такому принципу blogs.msdn.microsoft.com/... При этом сравнив с тем же хецнером понимаем, что по ресурсам дешевле взять несколько хецнеров (необлачных), чем аналогичный по мощности тариф Azure с возможностью масштабирования мощности в зависимости от количества текущих задач. С другой стороны, возможно на больших объемах задач Azure будет выгоднее. Опять же, здесь нам нужно мнение эксперта. 

4.Может связка Task Schedule database + MSMQ вообще не нужна? Возможно, есть более правильные решения реализуемой задачи? Тем более, с учетом того, что хотелось бы, чтобы Controller Server в будущем можно было тоже сделать отказоустойчивым. В контексте этого мне неясно как будут синхронизироваться обработка таблицы расписания и очереди, если Controller Server будет работать на нескольких компьютерах одновременно. 

Ваша задача – разработать ядро данного сервиса (все что на диаграмме ниже Website). Работа и оплата поэтапная. 

p.s. Если по вашему мнению архитектура подобрана не лучшим образом, мы рассмотрим ваши предложения по ее изменению.

8 лет назад
frolovartem
Артем 
38 летУкраина
9 лет в сервисе
Был
8 лет назад
  • Похожие заказы
  • $300

    Суть проекта: нужна программа, в которую списком загружаются данные о подключении к рабочим столам, вида: ip@login;password, запускается процесс проверки (чека) этих данных на предмет валидности данных для подключения, определение конфигурации машины, создание новой учетной записи ...

    Прикладное ПО1 исполнитель
    Закрыт
    8 лет назад
  • $100

    Необходимо реализовать для платформы iOS приложение.  Описание приложения:  1) Пользовательская часть:   Пользователю дается на выбор 4 темы и уровень сложности, после выбора которых он получает   набор из определенного числа задач.        Решение шахматных задач:       – возможность выбора ...

    Закрыт
    8 лет назад
  • 1)Необходимо найти  разобраться как браузер TOR заменяет определяемое текущее разрешение экрана на размер окна браузера.  2) Подкорректировать для изменение разрешение экрана под указанные данные будь то 999x111 или 444x444   3) Реализовать это в браузере на vb.net (geckofx) ...

    Закрыт
    8 лет назад
  • Требуется доработать программу под Windows, написанную с использованием библиотеки Qt. Баги в программе: - вылетает при определенных условиях (систематически) - автозапуск программы после перезагрузки не срабатывает Программа представляет собой VPN клиент, который берет информацию о подключениях с сайта и ...

    Закрыт
    8 лет назад
  • Есть расширение для Chrome, наше, с исходниками.Надо его импортировать для FIrefox, создать подписанный .xpi файл, чтоб можно было установить его в Firefox по прямой ссылке на расширение. Оплата - договорнаяСроки - 1-2дня (срочно)Бонус - ЖИРНЫЙ ОТЗЫВНе ...

    Прикладное ПОнет заявок
    Закрыт
    8 лет назад
  • Ищем партнера, который бы занимался программным обеспечением (разработкой и сопровождением) и получал процент как от программы, так и от продажи приборов. Описание работы системы:  Режим охраны.  В этом режиме, прибор высылает данные о местоположении на сервер каждые 5 ...

    Закрыт
    8 лет назад
  • Приложение mobile Taxi – клиентская часть для водителя TAXI. В приложение есть функция автовзятия заказов по настраиваемым  фильтрам .( Сектор подачи / Сектор назначения/тариф/ шаблон адреса подачи илиназначения/ тип заказа/тип расчета. Водителю  работая внескольких диспетчерских службах такси ...

    Закрыт
    8 лет назад
  • $1500

    Здравствуйте! Необходимо разработать приложение для риэлтора, демонстрирующее прелести жилого комплекса. В приложении должна быть реализована дополненная реальность и "гуляние" по сферическим панорамам. Среди примитивного — 2 блока с текстовой информацией, фото-галлерея и видео-ролик. Все материалы есть в наличии, ...

    Закрыт
    8 лет назад
  • $10

    Необходимо написать функцию на C# .NET4 которая на вход будет получать текст, а на выходе возвращать обработанный текст. Вот пример prntscr.com/9vwihr символа который нужно удалить из текста. В 16-ричной системе выглядит так 0x0C.

    Закрыт
    8 лет назад