Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views51.4K
Comments 15

AMQP теперь и в PHP

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

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

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

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

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

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

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

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

Прежде чем перейти к кодированию, представляю на обсуждение новое API
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Views1.1K
Comments 3

AMQP-PHP чат

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

В отличие от других протоколов передачи сообщений (XMPP STOMP или Memcache (MemcacheQ)) AMQP обладает большей гибкостью.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views8.4K
Comments 19

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

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

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

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

далее кр описание…
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views4K
Comments 0

PHP-AMQP версия 2

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

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

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

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

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

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

Читать дальше →
Total votes 3: ↑2 and ↓1 +1
Views2.2K
Comments 4

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

DevConf corporate blog
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 предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям вебразработки, послушав доклады от основателей этих технологий — приехавших в Москву со всего мира.
Total votes 29: ↑22 and ↓7 +15
Views1.3K
Comments 5

Lib amqpcpp wrapper for librabbitmq

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

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

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

Website development
В статье «Lib amqpcpp wrapper for librabbitmq» был обзор публикации сообщений по протоколу AMQP. Данная статья является ее продолжением, в которой ниже описывается как использовать Очереди.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views2.2K
Comments 2

AMQP-REST

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

Данные возвращаются в JSON.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views5.2K
Comments 26

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

Configuring Linux

Вступление

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

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

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

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

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

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

Продолжение истории для тех, кому не всё-равно…
Читать дальше →
Total votes 76: ↑57 and ↓19 +38
Views1.6K
Comments 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');
?>

этого было достаточно и все было хорошо…
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Views11.4K
Comments 18

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

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

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

Читать дальше →
Total votes 85: ↑80 and ↓5 +75
Views18.6K
Comments 9

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

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

Идея проекта


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

Осторожно! В статье много субъективных оценок , основанных на личном опыте!
Total votes 106: ↑79 and ↓27 +52
Views5.3K
Comments 33