Комментарии 11
Что бы пощупать нужно запустить самому или есть где то уже развернутый, что бы потрогать по ссылке?
Интересный проект, сам несколько раз делал подобные штуки. Единственно, что ZeroMQ здесь совсем не к месту — то есть сильно избыточен, поверьте, в реальном проекте вы никогда не упретесь в производительность Redis Pub/Sub (а zmq создан для очень требовательных систем, здесь он явно не в своей весовой категории, хотя применить и попробовать конечно интересно)
ZeroMQ дает некоторые интересные бонусы: brokerless, а также встроенный в библиотеку автоматический реконнект. Ну и интересно применять, конечно:) Но в целом, вы, конечно, правы. Думаю, несложно (и нужно) будет сделать Redis PUB/SUB механизм опциональным в будущих версиях.
Пробовали эту конфигацию за Load-balancer, какой использовали?
Еще субъективно какая-то мешанина с базами данных, зачем там вообще SqlLite, Postgres, если уже есть Redis.
Еще вопрос — реализован ли автоматический реконнект на клиенте/сервере, когда, например, соединение отвалилось?
Еще субъективно какая-то мешанина с базами данных, зачем там вообще SqlLite, Postgres, если уже есть Redis.
Еще вопрос — реализован ли автоматический реконнект на клиенте/сервере, когда, например, соединение отвалилось?
Пробовал за Haproxy в начале разработки, потом появился Nginx c поддержкой проксирования вебсокетов, перешел на него. В документации есть пример конфига.
Redis — это опция, без которой вполне можно обходиться. Не хотелось делать его использование обязательным. Если вам не нужна информация о клиентах в канале или история сообщений, то и Redis тут ни к чему. Настройки проектов и пространств имен нужно как-то хранить, так как они могут изменяться динамически. Согласен, вариантов получилось много, и чувство насчет мешанины — тоже есть, но пока так. Спасибо за замечание, этот момент действительно нужно будет обдумать.
Реконнект на стороне клиента предусмотрен. Реконнект PUB/SUB механизма на сервере осуществляет ZeroMQ.
Redis — это опция, без которой вполне можно обходиться. Не хотелось делать его использование обязательным. Если вам не нужна информация о клиентах в канале или история сообщений, то и Redis тут ни к чему. Настройки проектов и пространств имен нужно как-то хранить, так как они могут изменяться динамически. Согласен, вариантов получилось много, и чувство насчет мешанины — тоже есть, но пока так. Спасибо за замечание, этот момент действительно нужно будет обдумать.
Реконнект на стороне клиента предусмотрен. Реконнект PUB/SUB механизма на сервере осуществляет ZeroMQ.
а у вас жесткое реальное время или мягкое?
Зачем Вам куча зависимостей в виде sqlite, postgresql и zeromq? это дополнительные сервисы, которые надо устанавливать, настраивать и мониторить?
Почему бы полностью не переехать на редис?
Почему бы полностью не переехать на редис?
Ответил чуть выше на аналогичный вопрос. Но попробую ответить еще раз, немного иначе. Существуют 2 вопроса в данном случае:
1) Redis или ZeroMQ для PUB/SUB
2) Зачем нужны разные бд
Насчет первого вопроса есть упоминание в самой статье. Я тоже в данный момент размышляю, не перейти ли полностью на Redis. Сейчас зависимость на Redis не жесткая.
Что касается второго — устанавливать и мониторить, конечно, придется. Но если вам не нужна возможность изменять динамически настройки проектов и пространств имен — можно описать структуру в конфиг-файле, в таком случае дополнительной зависимости не будет.
1) Redis или ZeroMQ для PUB/SUB
2) Зачем нужны разные бд
Насчет первого вопроса есть упоминание в самой статье. Я тоже в данный момент размышляю, не перейти ли полностью на Redis. Сейчас зависимость на Redis не жесткая.
Что касается второго — устанавливать и мониторить, конечно, придется. Но если вам не нужна возможность изменять динамически настройки проектов и пространств имен — можно описать структуру в конфиг-файле, в таком случае дополнительной зависимости не будет.
Здорово!.. Но разрешите немного придираться.
В тексте есть пункт «во-первых», а вот пункт «во-вторых» я не нашел… пока пытался понять логику изложения совсем потерял суть. Пожалуйста, дружите со структурой и логикой не только в Python, но и в «русском языке».
В тексте есть пункт «во-первых», а вот пункт «во-вторых» я не нашел… пока пытался понять логику изложения совсем потерял суть. Пожалуйста, дружите со структурой и логикой не только в Python, но и в «русском языке».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Centrifuge набирает обороты