Комментарии 4
Спасибо за такую замечательную статью! Приятно, когда мало воды и много практических моментов
Использует Redis, Tarantool или NATS для синхронизации между нодами
Вот только тарантула они выпилили в 6ой версии. Я не особо люблю Tarantool (хотя даже написал драйвер для Celery на него), но он неплохо так закрывает задачи кеширования, pub/sub и простенькой SQL базы данных. Это удобно.
Не знал, что Tarantool выпилян. Спасибо)
Tarantool experimental engine was removed in Centrifugo v6, so you need to migrate to supported engines described in Engines and Scalability doc, i.e. choose from:
In memory Engine – ultrafast, but keeps data in Centrifugo process memory so publication history is lost on restart. And only one Centrifugo node can be used.
Redis Engine (Redis-compatible storages are supported also) - allows scaling Centrifugo nodes, data is kept in Redis so survives Centrifugo restarts.
Nats broker (supports at most once PUB/SUB, but does not support history/recovery features of Centrifugo).
Если честно, это делает немного непривлекательным переход на v6. Я не видел каких-то существенных улучшений в этом релизе для себя, а вот кучу геморроя увидел: то выпилили, то убрали, там кровати переставили синтаксис конфига поменяли. Из плюсов только возможность самому токен передать для авторизации.
Centrifugo v6 + FastAPI + Python: разрабатываем веб-опросник с обновлениями в реальном времени