Centrifugo. Возможные опции канала
В предыдущей статье, где рассказывалось о том, как получить свое первое real-time сообщение, мы обращались к каналу, а точнее, мы на него подписывались, используя метод subscribe
.
Что такое канал (channel) в Centrifugo?
Канал ("channel") - сущность, на которую подписывается пользователь, что бы иметь возможность получать сообщения, транслируемые в этот канал. Назвать канал можно как угодно, однако символы $ (если стоит перед названием канала, то делает его секретным) и : (используется для разделения пространства имен и названия канала) зарезервированы программой и их использовать нельзя.
Ниже идет описание опций, которые могут быть применены к каналу:
watch
- по умолчанию эта опция отключена (false), однако если ее включить, то появляется возможность смотреть отправленные в каналы сообщения в админке. Все сообщения, пересылаемые между пользователями и пользователям, будут дублироваться в админке во вкладке Messages. Данную настройку следует использоваться осторожно, т.к. при большой нагрузке админский клиент не будет справляться с обработкой всех сообщений. Данную опцию следует использовать при разработке или при низком количестве пересылаемых сообщенийpublish
- позволяет клиентам публиковать сообщения в каналы напрямую (со стороны клиента). Ваше приложение, работающее на стороне сервера, никогда не сможет получить и обработать эти сообщения. По идеологии Centrifugo сообщения в канал должны поступать от вашего бэкенда, например, уведомление об окончании товара на складе, ошибке в работе процессов, ваш пост или фотку лайкнули и т.д. Но все же данная опция существует и нужна она для того, если вы не хотите обрабатывать сообщения и сохранять их в базу или вам нужно продемонстрировать работу чего-то в режиме реального времени. По умолчанию данная опция отключена.- anonymous - данная опция позволяет получить доступ к каналу в анонимном режиме (при подключении не надо указывать UserID). В большинстве случаем ваше приложение работает с авторизованными пользователями, т.е. имеющими свой уникальный идентификатор. Но иногда вам бывает нужно транслировать сообщения в режиме реального времени неограниченному кругу лиц, которые подписаны на определенный канал. Тогда вам необходимо в файле конфига указать в настройках канала параметр
"anonymous": true
. По умолчанию данная опция отключена. presence
- настройка, позволяющая видеть информацию о пользователях, подписанных на канал. По умолчанию, эта опция отключения.join_leave
- позволяет включить уведомление о том, что кто-то подключился к каналу или покинул его. По умолчанию, отключено.history_size
- максимальное количество сообщений в истории. Когда Centrifugo хранит историю сообщений в памяти, то очень важно ограничить это количество разумным минимальным значением. По умолчанию, кол-во сохраняемых сообщений равно 0, т.е. сообщения не сохраняются. Когда данная опция включена, то данное значение является максимальным количеством сообщений в КАЖДОМ канале в рамках указанного пространства имен! Про пространство имен расскажу в следующей статье.
На этом описание доступных опций канала в Centrifugo закончено. Если данная информация вам понравилась и была полезна, то подписывайтесь на мой аккаунт, делайте upvote (лайк) и следите за дальнейшими статьями - там будет много полезного.