Обновить
69
0
Александр Календарев @akalend

Ламер с 20 летнем стажем

Отправить сообщение

Lib amqpcpp wrapper for librabbitmq

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

На основе этой библиотеке выложил в Google Code проект С++ библиотеки amqpcpp, которая является упрощенным интерфейсом к librabbitmq. Документации нет, примеров использования в дистрибутиве только три. Под кастом краткое изложение АПИ и примеры ее использования. Использование стало проще.
Читать дальше →

Chain Friends by MongoDB

Время на прочтение2 мин
Количество просмотров3.5K
imageПро MongoDb было рассказано не так много, но относительно полно, например здесь. Хочу поделиться еще с одним практическим использованием этой БД — это построение цепочек друзей. Построение цепочек и концепцию кругов было использовано в Мойм Круге. Вот пример: Я — Иван Петров — Петр-Иванов — Киририлл Лавров — Вася Пупкин.

MongoDb было выбрано как высокопроизводительное хранилище данных, позволяющее быстро извлекать массивы структур данных. Традиционные key/value DB для этого не подходят, почему — поймете по ходу изложения статьи.

В данной статье рассмотрен опыт использования noSQL DB при построение «цепочек друзей» в небольшой соц-сети 300 тыс пользователей.
Читать дальше →

Зачем Хабру Барбадос

Время на прочтение1 мин
Количество просмотров710
Собственно сабж:

Захожу на Поиск работы и вываливается список всех стран мира (более 127). Так зачем Хабру Барбадос ? — если там нет работы, да и ее ни кто не ищет?

давайте оставим три-пять актуальных стран: Россия, Укранина, Казахстан, Белорусия и сделаем категорию «прочие».
почти то же самое по регионамя, зачем истать работу в программистом Ботитогорске (если ее там не было и не будет), если я ищу ее в СПб.

Велосипед: межсайтовая авторизация собственных проектов

Время на прочтение2 мин
Количество просмотров2.8K
Это обсуждалось много и долго, напрмер в посте… Реализовал свой велосипед межсайтовой авторизации.

Итак, вернемся к задачи:
есть несколько оригинальных проектов (project1,project2,projectN...), для которых должна быть единая авторизация. То есть, Пользователь залогинившись в проекте project1 имел доступ к ресурсам project2...projectN как авторизованный пользователь.

Как правило, подобные проекты лежат на едином хостинге и желательно чтоб имели общую (единую) регистрацию. Итак, если эти условия выполняются, то нижеописанное решение может продолжить жизнь и в Вашем проекте.

Ограничение: все проекты лежат в одном датацентре и находятся в одной локальной сети. Все проекты имеют единое хранидище для сессий и соответственно единый sid.
Читать дальше →

еще один велосипед или TreeDb — NoSQL Database startup

Время на прочтение3 мин
Количество просмотров639
Хочу представить старт проекта, с рабочим названием TreeDb. Я не пиарюсь (еще далеко...) и размещаю свои мысли и рассуждения в личном блоге. Хочу в ответ получить адекватную критику, обсуждение идей, в общем все то, для чего нужны блоги ;). Просто, в последствии интересно проследить историю проекта, что задумали и что на выходе. А может кто и захочет и по участвовать. Всегда рады.

Из названия понятно, что речь пойдет о БД, основанной на деревьях. Сразу оговорюсь — на данный момент нет ни строчки кода. Сперва определюсь с концепцией.

ниже FAQ
Читать дальше →

Обработка POST тела в разрабатываемых модулях

Время на прочтение5 мин
Количество просмотров3.4K
На сегодняшний день достаточно руководств и описаний, как разработать собственный модуль под nginx. Для тех, кто на танке, ссылки можно найти на сайте nginx
Но, как использовать данные POST, к сожалению информации кот наплакал.

Читать дальше →

классический TCP сервер

Время на прочтение4 мин
Количество просмотров46K
мой первый TCP Сервер был создан пару лет назад. Основой создания послужила книга Р.Стивенсона «Unix — Профессиональное программирование.» Есть несколько подходов к созданию TCP-серверов. В данном посте хочется рассказать про классический TCP сервер.

Читать дальше →

Комменты на комменты

Время на прочтение1 мин
Количество просмотров431
на странице Мое/Комментарии хотелось бы видеть хотя бы число ответов на твои комментарии, а не только кол-во голосов.

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

История одного бага или почему следует знать не только РНР

Время на прочтение3 мин
Количество просмотров2.5K
Все началось с того, что стал падать мемкеш, вернее мемкешДб. И падал он как-то хитро. Переустановка мемкеш+мемкешДб+BerkeleyDb ничего не дала. После некоторых эмперических вычислений стало понятно, что падает на методе MultiGet, при том очень интересен тот факт, что падение зависит от порядка задания ключей и кол-во ключей должно быть более 3х.
Читать дальше →

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

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

Читать дальше →

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

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

PHP-AMQP версия 2

Время на прочтение4 мин
Количество просмотров10K
В статье Новые идеи по АПИ RabbitMQ AMQP для PHP был опубликован набросок по PHP-AMQP API

В продолжении ранее опубликованных идей представляю их реализацию, которая более ООПешнее первой версии.
Читать дальше →

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

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

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

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

далее кр описание…
Читать дальше →

AMQP-PHP чат

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

В отличие от других протоколов передачи сообщений (XMPP STOMP или Memcache (MemcacheQ)) AMQP обладает большей гибкостью.
Читать дальше →

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

Время на прочтение2 мин
Количество просмотров2.9K
Недавно опубликовал разработанное ранее PHP API для RabbitMQ «AMQP теперь и для РНР»

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

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

Прежде чем перейти к кодированию, представляю на обсуждение новое API
Читать дальше →

PHP & AMQP (Продолжение) Инсталляция php-rabbit

Время на прочтение2 мин
Количество просмотров1.8K
В продолжении статьи «AMQP теперь и в РНР»
кому интересно, какие камни ожидают при инсталляции php-rabbit
Читать дальше →

AMQP теперь и в PHP

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

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

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

Широкое распространение AMQP в WEB разработках разработках сдерживается двумя причинами: отсутствием необходимых навыков (практики) его использования и малой клиентской поддержкой. В основном есть клиенты на языках с, java, python, с#. Большая популярность РНР в WEB разработках жалала бы видеть и свой AMQP-клиент.
Читать дальше →
2

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Architect, Database Architect
Lead
От 325 000 ₽
PostgreSQL
Golang
C++
Python
Database
Designing application architecture
Creating project architecture
Database design
Object-oriented design
Code Optimization