Centrifuge — брокер реал-тайм сообщений recovery mode

Данная статья посвящена небольшому проекту open-source, который называется Centrifuge (Центрифуга). Он является сервером Python, его основной задачей считается отправка сообщений в режиме реального времени. Обычно для этого используют ресурсы браузеров.

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

Статья написана при поддержке автосалона hyundai-lviv.com . Официальный дилер hyundai предлагает Вашему вниманию полный модельный ряд автомобилей, а также сервисное гарантийное обслуживание, страховку и выгодные условия кредитования автомобиля.

1.​ Отсутствует авторизация. Если Вы используете сервер в целях передачи среди одной сети, то это еще нормально. Но вот для доступа людям извне, иными словами из Интернета, им нужна авторизация.

2.​ Нет возможности использовать Websockets. Это протокол, представляющий возможность обмениваться данным двухсторонне.

Хочу заметить, что для того, чтобы этот проект работал на Python 3.3, для создания кода выбиралось Торнадо. К тому же, стоит учесть, что библиотеки асинхронного типа, что позволяет им исключить любой блокирующий эффект во время взаимодействия с сокетами. А при взаимодействии нескольких процессов приложений за балансировщиком, а клиент по теории может создать подключение с любым из них, нужно соблюдать целостную структуру системы, к тому же, необходимо так же поддерживать коммуникацию среди приложений. Для этого, в создании проекта использовался ZeroMQ, на котором отсутствует отдельный брокер.

Для каждого процесса Центрифуги создается PUB сокет, он крепится на отдельный адрес. Для этого процесса существует так же SUB сокет, соединяющийся со всеми запущенными PUB сокетами, но тут есть свой недостаток, ведь при запуске нужно указать все адреса PUB вручную.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *