Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

RabbitMQ: Введение в AMQP

Erlang/OTP
Построение больших и сложных систем всегда связано с решением проблем обмена данными между различными их узлами. Дополнительные трудности вносят такие факторы, как требования к отказоустойчивости, географическое разнесение подсистем, наличие узлов, взаимодействующих сразу с несколькими другими. Не всегда удобно использовать пресловутую систему клиент-сервер, да и архитектура точка-точка может оказаться не самым подходящим представлением связей.

Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Просмотры51K
Комментарии 15

AMQP теперь и в PHP

Чулан
типа Введение
Протокол AMQP хорошо был описан в статьях AMQP по русски, RabbitMQ: Введение в AMQP AMQP — практика использования и мне не хотелось бы повторяться.

AMQP используется в серверах очередей: ZeroMQ, ActiveMQ, RabbitMQ.

Преимущество RabbitMQ перед прочим свободным ПО:
— более полно представлен протокол,
— поддерживает кластер,
— реализован как многопоточный сервер, высокая производительность

Широкое распространение AMQP в WEB разработках разработках сдерживается двумя причинами: отсутствием необходимых навыков (практики) его использования и малой клиентской поддержкой. В основном есть клиенты на языках с, java, python, с#. Большая популярность РНР в WEB разработках жалала бы видеть и свой AMQP-клиент.
Читать дальше →
Всего голосов 19: ↑12 и ↓7 +5
Просмотры5.1K
Комментарии 15

Новые идеи по АПИ RabbitMQ AMQP для PHP

Чулан
Недавно опубликовал разработанное ранее PHP API для RabbitMQ «AMQP теперь и для РНР»

При обсуждении было предложено сделать PHP API более объектной моделью,
более близкой к модели, предложенной в Протоколе AMQP.

Код немного усложнится, но объектная модель будет более красивой,

Прежде чем перейти к кодированию, представляю на обсуждение новое API
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры1.1K
Комментарии 3

AMQP-PHP чат

Разработка веб-сайтов
Вот, дошел до первого практического воплощения моих первых двух статей. Далее будут изложены только идеи… Идеи уже воплощенные и идеи, которые воплощаются…

В отличие от других протоколов передачи сообщений (XMPP STOMP или Memcache (MemcacheQ)) AMQP обладает большей гибкостью.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры8.3K
Комментарии 19

Alice — REST Мониторинг RabbitMQ

Разработка веб-сайтов
Собственно столкнулся с проблемой, что при использовании RabbitMQ необходимо мониторить сервер. Системную утилиту rabbitmqctl можно запускать из командной строки, но запустить ее из приложения не получилось. Что-то связанное с окружением эрланга.

После небольшого гугления и общения в целевых форумал получил заветную ссылку

Данный инструмент позволит автоматизировать администрирование сервера:
мониторинг и удаление старых очередей, связей и обменов и кол-во одновременных коннекций.

далее кр описание…
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры4K
Комментарии 0

PHP-AMQP версия 2

Разработка веб-сайтов
В статье Новые идеи по АПИ RabbitMQ AMQP для PHP был опубликован набросок по PHP-AMQP API

В продолжении ранее опубликованных идей представляю их реализацию, которая более ООПешнее первой версии.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры8.8K
Комментарии 6

PHP-AMQP Что нового у Друзей?

Разработка веб-сайтов
При построении социальной сети по типу шардинга встает проблема обмена данными между шардами. Традиционная репликация в данном случае не подходит по разным причинам. Тема шардинга — это отельная большая тема и не является предметом данной статьи.
В данной архитектуре для реализации «ленты Друзей» или «Новостной ленты» лучше использовать сервер очередей используя систему: Подписка-Уведомление. В качестве брокера обмена предлагается использовать сервер очередей RabbitMQ, реализующий протокол AMQP, который был выбран по причине хорошей масштабируемости. Серверная часть реализована на PHP, используя расширение php-rabbit (описание АПИ).
Читать дальше →
Всего голосов 29: ↑22 и ↓7 +15
Просмотры6.4K
Комментарии 62

AMQP — отладка приложений

Чулан
Рзработка сложных систем обмена сообщениями по протоколу AMQP приходится не только отлаживать код, но и разбираться в структуре и роутинге сообщений.
Иногда трудно понять причину того или иного зависания или отсутствия сообщения. Однако, разработчиками RabbitMQ включен в составе пакета rabbitmq-java-client есть класс Tracer,
который позволяет в консольном режиме просматривать информацию об обмене.

Читать дальше →
Всего голосов 3: ↑2 и ↓1 +1
Просмотры2.2K
Комментарии 4

DEVCONF::HighLoad('on') — приглашаем докладчиков — 17мая Москва

Блог компании DevConf
image

Приглашаем докладчиков на DEVCONF 2010 — рассказать о высоких нагрузках
http://devconf.ru/offers

Поданные заявки на доклады и мастер-классы:

— Основы построения масштабируемых высоконагруженных веб-проектов

— Разработка высоконагруженных приложений с использованием БД PostgreSQL

— Классификация и методологии использования систем обработки и хранения данных совместно с PHP в масштабируемых веб-проектах.

— MariaDB release 5.1; What is it and what to expect from it. — от автора MySQL

Опыт использования noSQL (redis, MongoDb,Sedna, memcacheq ,RabbitMq)

DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и вебразработки.
Участникам DevConf предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям вебразработки, послушав доклады от основателей этих технологий — приехавших в Москву со всего мира.
Всего голосов 29: ↑22 и ↓7 +15
Просмотры1.3K
Комментарии 5

Lib amqpcpp wrapper for librabbitmq

Разработка веб-сайтов
За последние полтора года активно набирает популярность Сервер очередей RabbitMQ, который работает по протоколу AMQP. Про данный протокол уже было достаточно статей на Хабре. В инструментарии есть библиотека librabbitmq

На основе этой библиотеке выложил в Google Code проект С++ библиотеки amqpcpp, которая является упрощенным интерфейсом к librabbitmq. Документации нет, примеров использования в дистрибутиве только три. Под кастом краткое изложение АПИ и примеры ее использования. Использование стало проще.
Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Просмотры1.7K
Комментарии 2

Библиотека amqpcpp. Часть 2 — Очереди

Разработка веб-сайтов
В статье «Lib amqpcpp wrapper for librabbitmq» был обзор публикации сообщений по протоколу AMQP. Данная статья является ее продолжением, в которой ниже описывается как использовать Очереди.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры2.1K
Комментарии 2

AMQP-REST

Разработка веб-сайтов
про AMQP говорили много. Очередная разработка, ориентированная на AJAX.
Возможности:
  • читать из очереди одно сообщение
  • читать из очереди все сообщения
  • узнать длинну очереди
  • публиковать сообщение в обмен

Данные возвращаются в JSON.
Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры5.2K
Комментарии 26

Процесс запуска RabbitMQ на Linux

Настройка Linux

Вступление

Запуск RabbitMQ сервера при более глубоком рассмотрении выглядит весьма запутанным делом. Почему это так и как все все обстоит на самом деле можно прочитать под катом.
  1. Версия RabbitMQ-Server — 2.1.0
  2. ОС: Fedora
Читать дальше →
Всего голосов 22: ↑12 и ↓10 +2
Просмотры13.7K
Комментарии 5

Моделируем полёт PHP на крыльях Erlang

PHPErlang/OTP
В данной статье изложены размышления и фантазии на тему «как можно было бы скрестить Erlang и PHP, чтобы случилось вселенское счастье», а не описание готовой технологии или продукта. Впрочем, мы намерены это реализовать, скорее всего, в форме open-source проекта, если, конечно, уважаемая хабра-аудитория не отговорит :) Собственно, одна из главных задач этой статьи — понять, насколько идея интересна и потенциально полезна широкому PHP-сообществу. Кстати, некоторые из проблем, обсуждаемых в статье, справедливы и для других популярных скриптовых языков (тут я подразумеваю Ruby и Python), так что предлагаемое решение, возможно, будет актуально и для них.
Интересно, нафига козе баян?
Всего голосов 95: ↑86 и ↓9 +77
Просмотры8.4K
Комментарии 166

А как ты помог какому-нибудь сообществу хабрачеловек?

Open source
Представьте ситуацию… Решили вы значит прикрутить какую-нибудь новую технологию к вашему проекту. Поставили всё необходимое, подключили библиотеку, и опа… не работает. И вот вы мучаетесь, ковыряете, а оно всё не работает и не работает. И просидев некоторое время над этой библиотекой, вы решаете просто бросить это дело, скачать аналогичную библиотеку от другой команды и попробовать её.

А может быть всё было не так. Может быть вы очень упорный и целеустремлённый человек и решаете во что бы то ни стало довести дело до конца и помочь в развитии продукта.

Продолжение истории для тех, кому не всё-равно…
Читать дальше →
Всего голосов 76: ↑57 и ↓19 +38
Просмотры1.6K
Комментарии 36

Генерим PDF бочками

Python

Предыстория


На хабре неоднократно упоминались различные инструменты и способы создания скриншотов WEB страниц.

Хочу поделиться собственным «велосипедом» для создания PDF на Python и QT, дополненным и улучшенным для централизованного использования несколькими проектами.

Изначально генерация запускалась из PHP скрипта, примерно так:

<?php
// локальный файл
exec('xvfb-run python2 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python2 html2pdf.py http://habrahabr.ru /tmp/habr.pdf');
?>

этого было достаточно и все было хорошо…
Читать дальше →
Всего голосов 41: ↑37 и ↓4 +33
Просмотры11.4K
Комментарии 18

Open Source-расширения для yii от команд 2ГИС

Блог компании 2ГИС
В прошлый раз мы рассказали о слоистой архитектуре во фреймворке yii, а сейчас хотим поделиться кодом.

В своей работе мы активно используем open source-решения и поэтому решили поделиться собственными разработками, которые могут быть полезны сообществу. Сегодня это расширения для, наверное, лучшего в мире PHP-фреймворка yii:
  • DGSphinxSearch
  • AMQP(RabbitMQ)
  • MQLogRouter
  • DGPinbaLogRoute
  • DGApiClient
Рассмотрим эти расширения по порядку.

Читать дальше →
Всего голосов 85: ↑80 и ↓5 +75
Просмотры18.6K
Комментарии 9

Всё самое модное

Разработка веб-сайтов
Начитавшись в интернете про новые, простые, быстрые и масштабируемые технологии, захотелось их всех попробовать. Вдруг они окажутся лучше уже привычной мне связки postgresql + django + json-rpc.

Идея проекта


Так как никакой идеи не было, но был свободный домен uglyrater.org — пришлось делать рейтинг.
Суть проста: есть список пользователей, которым можно расставить + и -. Новые пользователи в рейтинг добавляются по адресу страницы ВКонтакте.

Осторожно! В статье много субъективных оценок , основанных на личном опыте!
Всего голосов 106: ↑79 и ↓27 +52
Просмотры5.3K
Комментарии 33