Как стать автором
Обновить

Комментарии 11

Что бы пощупать нужно запустить самому или есть где то уже развернутый, что бы потрогать по ссылке?
К сожалению, нужно запустить самому.
Интересный проект, сам несколько раз делал подобные штуки. Единственно, что ZeroMQ здесь совсем не к месту — то есть сильно избыточен, поверьте, в реальном проекте вы никогда не упретесь в производительность Redis Pub/Sub (а zmq создан для очень требовательных систем, здесь он явно не в своей весовой категории, хотя применить и попробовать конечно интересно)
ZeroMQ дает некоторые интересные бонусы: brokerless, а также встроенный в библиотеку автоматический реконнект. Ну и интересно применять, конечно:) Но в целом, вы, конечно, правы. Думаю, несложно (и нужно) будет сделать Redis PUB/SUB механизм опциональным в будущих версиях.
Пробовали эту конфигацию за Load-balancer, какой использовали?
Еще субъективно какая-то мешанина с базами данных, зачем там вообще SqlLite, Postgres, если уже есть Redis.
Еще вопрос — реализован ли автоматический реконнект на клиенте/сервере, когда, например, соединение отвалилось?
Пробовал за Haproxy в начале разработки, потом появился Nginx c поддержкой проксирования вебсокетов, перешел на него. В документации есть пример конфига.

Redis — это опция, без которой вполне можно обходиться. Не хотелось делать его использование обязательным. Если вам не нужна информация о клиентах в канале или история сообщений, то и Redis тут ни к чему. Настройки проектов и пространств имен нужно как-то хранить, так как они могут изменяться динамически. Согласен, вариантов получилось много, и чувство насчет мешанины — тоже есть, но пока так. Спасибо за замечание, этот момент действительно нужно будет обдумать.

Реконнект на стороне клиента предусмотрен. Реконнект PUB/SUB механизма на сервере осуществляет ZeroMQ.

а у вас жесткое реальное время или мягкое?
Зачем Вам куча зависимостей в виде sqlite, postgresql и zeromq? это дополнительные сервисы, которые надо устанавливать, настраивать и мониторить?
Почему бы полностью не переехать на редис?
Ответил чуть выше на аналогичный вопрос. Но попробую ответить еще раз, немного иначе. Существуют 2 вопроса в данном случае:

1) Redis или ZeroMQ для PUB/SUB
2) Зачем нужны разные бд

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

Что касается второго — устанавливать и мониторить, конечно, придется. Но если вам не нужна возможность изменять динамически настройки проектов и пространств имен — можно описать структуру в конфиг-файле, в таком случае дополнительной зависимости не будет.
Здорово!.. Но разрешите немного придираться.
В тексте есть пункт «во-первых», а вот пункт «во-вторых» я не нашел… пока пытался понять логику изложения совсем потерял суть. Пожалуйста, дружите со структурой и логикой не только в Python, но и в «русском языке».
Спасибо, поправил!:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий