В своих продуктах мы используем AMQP. Это удобно, это позволяет лучше масштабироваться и позволяет добавлять в сложную систему новые модули и расширения практически без проблем. В качестве брокера используется RabbitMQ. В качестве фронтендов используется Nginx. До недавнего времени мы везде использовали связку php-amqp и librabbitmq для работы с брокером. Но в некоторых частях системы это нам показалось избыточным. Читать полностью »
Рубрика «RabbitMQ» - 7
AMQP. Отправка сообщений в RabbitMQ напрямую из Nginx (embedded Perl)
2012-10-18 в 12:05, admin, рубрики: AMQP, linux, nginx, perl, RabbitMQ, web-application, системное администрирование, метки: AMQP, nginx, perl, RabbitMQ, web-applicationОптимизация обработки сообщений в RabbitMQ
2012-10-03 в 18:32, admin, рубрики: RabbitMQ, Веб-разработка, оптимизация, Серверная оптимизация, метки: RabbitMQ, оптимизация В рамках рабочих задач недавно мною было проведено небольшое исследование на тему целесообразности использования опции prefetchCount при работе с брокером сообщений RabbitMQ.
Хочу поделиться этим материалом в виде слайдов и комментариев к ним.
Тесты проводились на конкретном проекте, но в целом они справедливы для большинства случаев, где обработка сообщений (выполнение задач) занимает хоть сколько-то существенное время (при обработке менее 1000 сообщений в секунду).
* на слайдах вместо слова «подписчик» используется «консумер», в комментариях для единообразия тоже
* рассматривается одна очередь с пятью консумерами (C1..C5)
Идеальные условия
Оптимизация обработки сообщений RabbitMQ
2012-10-03 в 18:32, admin, рубрики: RabbitMQ, Веб-разработка, оптимизация, Серверная оптимизация, метки: RabbitMQ, оптимизация В рамках рабочих задач недавно мною было проведено небольшое исследование на тему целесообразности использования опции prefetchCount при работе с брокером сообщений RabbitMQ.
Хочу поделиться этим материалом в виде слайдов и комментариев к ним.
Тесты проводились на конкретном проекте, но в целом они справедливы для большинства случаев, где обработка сообщений (выполнение задач) занимает хоть сколько-то существенное время (при обработке менее 1000 сообщений в секунду).
* на слайдах вместо слова «подписчик» используется «консумер», в комментариях для единообразия тоже
* рассматривается одна очередь с пятью консумерами (C1..C5)
Идеальные условия
7 уроков, полученных при создании Reddit
2012-09-03 в 19:04, admin, рубрики: RabbitMQ, reddit, Веб-разработка, масштабируемость, Социальные сети и сообществаСтив Хаффман, один из создателей Reddit, рассказал на презентации, чему они научились, пока строили и развивали Reddit до 7,5 млн пользователей в месяц, 270 миллионов просмотров страниц в месяц и более 20 серверов баз данных.
Стив уточнил, что большинство полученных уроков были очевидными, поэтому в презентации не будет радикально новых идей. Но у Стива огромный опыт, и если он не смог увидеть эти грабли, то возможно, вам стоит обратить внимание на эти «очевидные вещи».
Каждый из 7 уроков будет рассмотрен в соответствующей секции.
- Падайте часто
- Разделение сервисов
- Открытая схема данных
- Избегайте хранения состояний
- Memcache
- Сохраняйте избыточные данные
- Имейте возможность работать оффлайн
RabbitMQ tutorial 2 ‒ Очередь задач
2012-08-23 в 18:00, admin, рубрики: AMQP, pika, python, RabbitMQ, Веб-разработка
В продолжение первого урока по изучению азов RabbitMQ публикую перевод второго урока с официального сайта. Все примеры, как и ранее, на python, но по-прежнему их можно реализовать на большинстве популярных ЯП.
Читать полностью »
RabbitMQ — Hello World!
2012-08-16 в 9:26, admin, рубрики: AMQP, hello world, pika, python, RabbitMQ, Веб-разработка, метки: AMQP, hello world, pika, python, RabbitMQ
RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
Читать полностью »
RabbitMQ — Hello World
2012-08-16 в 9:26, admin, рубрики: AMQP, hello world, pika, python, RabbitMQ, Веб-разработка, метки: AMQP, hello world, pika, python, RabbitMQ
RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
Читать полностью »