backend<=>centrifugo<=>clients communication
положить centrifugo_config.json в корневую директорию
положить local_backend.env в корневую директорию
docker compose -f compose.yml build && docker compose -f compose.yml up --force-recreate
backend-app - питоновское приложение, отсылает в центрифуго по http пейлоад в каналы
backend-streams - го приложение из примера для демонстрации перехвата бидерект сообщения с клиента через стрим
centrifugo - непосредственно сама центрифуга
frontend - клиент на жсе (можно открывать в разных вкладках как нового юзера)
откыть http://localhost:3000/
откыть сетевые запросы
зайти в админку http://127.0.0.1:8000 (пароль в поле admin_secret в centrifugo_config.json)
ввести в поле для ввода id/uid произвольный текст латиницей/цифры
нажать 'ПОЛУЧИТЬ ТОКЕН'
- на странице должен вывести ответ бекенд ручки с токеном
- в логах бека должна отобразиться информация по ручке /centrifugo/subscribe/
нажать 'ЗАИНИТИТЬ ЦЕНТРИФУГО'
- на странице должно вывести из под какого юзера заиничено
- в сетевых запросах должен появитсья вызов 101 сокет соединения
- в логе backend-streams должно вывести bidirectional subscribe called и инфо о саб реквесте вторым сообщением
нажать 'ОТПРАВИТЬ ПРИВЕТ С КЛИЕНТА'
- в логе backend-streams должно вывести data from client {"input":"hello from client"}
- на странице под надписью
Полученный пейлоаддолжно появитсья сообщение {"input":"hello from client"}
нажать 'ОТПРАВИТЬ КООРДЫ'
- в логе backend-streams должно вывести data from client {"x":2,"y":3}
- в логах бека должна отобразиться информация по ручке /from-streams/send/ с принятым от backend-streams пейлоадом оригинальных коорд
- на странице под надписью
Полученный пейлоаддолжны появитсья пейлоад от сокета с удвоенным значениями коорд - на странице под надписью
Полученный пейлоад из стримадолжны появится захардкоженные значения коорд
вызвать ручку POST http://127.0.0.1:8081/centrifugo/send-hello/
- на странице под надписью
Полученный пейлоаддолжно появитсья сообщение с неизмененным пейлоадом
вызвать ручку POST http://127.0.0.1:8081/centrifugo/send/ с пейлоадом в теле {"payload": {"qwe": 3}}
также можно отсылать пейлоад в центрифуго админке или смотреть пресенс по каналу space
про аутентификацию по JWT https://centrifugal.dev/docs/server/authentication
питоновский апи до центрифуги https://github.com/centrifugal/pycent
питоновский клиент центрифуги https://github.com/centrifugal/centrifuge-python
проксирование сообщений на сервер https://centrifugal.dev/docs/server/proxy
проксирование через стримы https://centrifugal.dev/docs/server/proxy_streams
настройка реверс-прокси https://centrifugal.dev/docs/tutorial/reverse_proxy