Добрый день,
Проект реализуется на python (pylons).
Аудитория для проекта (уже имеется, будет перекинута с других) - несколько миллионов человек.
Перекидываться будет частями, что бы выявлять узкие места и дорабатывать систему.
Нагрузка - вот тут только теория, т.к. число одновременных пользователей под вопросом.
- Реализация с учетом минимизации сообщений через кролика - прядка 4-8 тысяч в секунду.
- При попытке свалить на него весь обмен между модулями - 40-80 тысяч в секунду.
Повторюсь - это теория ).
При этом 10% обмена это запросы требующие синхронного ответа. В данный момент это реализовано так:
- Модуль-инициатор создает временную очередь для ответа.
- В запрос целевому модулю помещается имя этой очереди.
- Целевой модуль выполняет необходимые действия и помещает ответ во временную очередь.
- Модуль-инициатор извлекает ответ и уничтожает очередь.
Отрабатывает эта цепочка на два порядка медленней чем запрос без ответа. Возможно есть другой механизм/подход к решению этой задачи?
Как часто стоит опрашивать модулям свои очереди?
Какие-нить рекомендации из Вашего опыта высоконагруженных систем?
--
С уважением, Денис
16 августа 2010 г. 16:47 пользователь Alexandre Kalendarev
<aka...@gmail.com> написал: