Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2016, 03:11   #1
alexplato
Пользователь
 
Аватар для alexplato
 
Регистрация: 14.11.2010
Сообщений: 47
По умолчанию Подскажите фреймворк распределенных вычислений

Хотим реализовать для своего проекта распределенную систему обработки задач. Среда реализации PHP. Главный критерий – скорость и оптимальность с точки зрения потребляемых ресурсов.

Архитектуру видим следующую. Есть главный сервер, который принимает задачи по API. Задачи неважно какие, суть в том, что однообразные. Также есть система обработчиков, которым главный сервер выдает задачи, они их выполняют, возвращают результат главному серверу, а тот в свою очередь возвращает ответ на API запрос.

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

Что можно добавить:
1 Обработчики в рамках выполнения задач могут пользоваться одной глобальной базой данных (в прикладных целях). Нужно быть готовым синхронизировать их доступ к ней.
2. Обработчики должны уметь регулярно обновлять себя, подтягивая последнюю актуальную версию обработчика с одного конкретного сервера.

Ищем фреймворк, на котором быстрее всего реализовать все вышезаявленное. Заранее спасибо за советы!
Автоматизация получения заказов для ВСЕХ ФРИлансеров!
alexplato вне форума Ответить с цитированием
Старый 23.08.2016, 03:17   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем пых на части обработчиков?
обработчики могут быть на чем угодно, пусть берут или из базы, или очереди сообщений задания и делают.
иначе разве что вам писать демонов на пыхе.

долгая работа это все же из немного иной области.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.08.2016, 10:02   #3
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Предлагаю разбить на этапы (исходя из той минимальной инфы которая есть):
1) API интерфейс. Принимает/обрабатывает запросы, пишет в бд.

2) Бекенд консольные команды (можно сделать одну): Запускаются по крону, ставят пометку в бд у задания "в работе"(пока оно в работе, ни кто с ним не может работать), выполняют задание, меняют статус. Можно запускать по несколько штук сразу. Статус задачи можно обновлять на клиенте. Но если важен ответ (тут всё зависит от длительности работы), то можно убрать крон.

3) Скрипт обновления который запускается по крону. При старте получает список обработчиков (команд) зарегистрированных в системе (храним в бд или в файле) с датой версии (последние обновление). Смотрит текущую дату, проверяет наличие версий, обновляет.

Каждый этап не зависим + второй этап может быть на любом другое языке который по вашему мнению справиться лучше или быстрее с этой задачей.

По поводу фреймворков, могу лишь посоветовать взять тот что лучше знаете (и не старый) и реализовать на нём т.к. это всё таки инструмент, остальное дело вкуса.
dr.Chas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кроссплатформенное (Windows и Android) приложение для распределенных вычислений novak1930 Фриланс 1 21.05.2016 07:13
Курсовая на программирование распределенных систем. senokos Фриланс 0 19.05.2015 12:30
Фреймворк Ципихович Эндрю Свободное общение 9 03.06.2013 05:36
Аналог STL для распределенных систем AramSargsyan Общие вопросы C/C++ 0 23.12.2012 19:53
фреймворк незнайка_на_земле Софт 2 08.02.2012 22:35