Создать ядро вебсервиса
250 USDНеобходимо сделать вебсервис.Пользователь может в рамках вебсервиса настроить выполнение сервисом на регулярной основе нужных пользователю задач. Например, пользователь может настроить задачу, который должна запускаться вебсервисом каждый день с понедельника по пятницу с 7:00 до 21:00 каждые 2 часа.
Архитектура системы. Вижу примерно следующую архитектуру, позволяющую реализовать вышеописанную систему:
Вкратце опишу. Клиент (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. Если по вашему мнению архитектура подобрана не лучшим образом, мы рассмотрим ваши предложения по ее изменению.
-
239 Добрый день.
Уже пятый год как мы - команда и, чего у нас не отнять так это опыта в области Web-решений.
Мы не ограничиваемся созданием корпоративных сайтов и интернет-магазинов. Наша команда профессионально реализовывает высоконагруженные сервисы, которые эффективно функционируют на наших собственных серверах.
Благодаря нашей платформе, управление проектами будет комфортным и простым в использование. А система закрытая, и это дает гарантию на безопасность Ваших данных.
Гибкий data manager, уникальная CRM система, удобная и простая в использование админ. панель.
Все необходимые инструменты подбираются и конфигурируются индивидуально, ничего лишнего.
…
Наша команда поможет Вам профессионально решить поставленную задачу.
Примеры наших работ: ovo.ua/works Freelancehunt
Наш проект: ovobox.com
Сайт: ovo.ua
С уважением,
Константин Соколов
Project Manager
Digital Студия OVO
Украина,
г. Киев, ул. Старокиевская 10-Г, БЦ "Vector".
тел: +38 (063) 578 15 70
skype: konstantin_ovo.ua
e-mail: [email protected]
вк: https://vk.com/sale_ovo_ua
-
на c# есть замечательная библиотека quartz.net. в ней регистрируете свой task и указываете время его вызова, периодичность (каждый день, раз в месяц и т.д.). так гораздо удобней чем с MSMQ
-
Current freelance projects in the category C and C++
Program for displaying MS PowerPoint inside a window
20 USD
|
Project for the development of software for microcontrollersGreetings! I am looking for a specialist or team who can develop software for distributed microcontrollers such as Arduino, ESP, or Raspberry-Pi. Key points: - the controller should receive 5 analog signals as input, - it should also output 5 analog signals, - the controller… C and C++, System programming ∙ 2 proposals |
Script that will interact based on the imageI need a script that will interact based on the image + text (product name on the screen) + price. In other words, the script should click on the platform logo (white text in the top left) to update the range of products (every 3-5 seconds), then there should be a search by… C and C++, Python ∙ 8 proposals |
Create a bot telegram with GPT integration
306 USD
The technical task: 1) Create a bot telegram for example, When you start asking the language: The Russian The English The rest is the example of the first bot: to propose to send a photo from which the face will be taken, the second - to ask for a video on which the face… C and C++, Python ∙ 12 proposals |
Configurate the data exchange between Jetson nano and another device by can shiSet the data exchange between the jetson nano and other device on the can band using the RS485 CAN documentation and examples here: https://www.waveshare.com/wiki/RS485_CAN_for_Jetson_Nano The data package that is transmitted is broken down on the frame size of 8 bytes, the… C and C++, Linux and Unix ∙ 2 proposals |