Комната

Материал из [matrix] на Русском
Перейти к навигации Перейти к поиску

Комната — основной механизм для общения участников в сети matrix. Комнаты бывают многопользовательские, объединяющие множество участников, и приватные для общения двух участников друг с другом.

Адресация комнат

Отказоустойчивость

Комнаты в матриксе имеют два уровня дублирования на серверах.

  1. Стоит пользователю какого-нибудь сервера Б зайти в комнату на другом сервере А, сервер Б, если ещё не делал этого ранее, создаёт у себя копию этой комнаты и участвует в наполнении комнаты контентом наравне со всеми остальными серверами, участники которых уже присутствуют в комнате. Это происходит автоматически, никаких дополнительных действий выполнять не требуется. Такое дублирование даёт следующее преимущество. Если какой-либо из серверов (даже исходный сервер А) будет отключён или потеряет соединение с сетью, пользователи других серверов, находящиеся в комнате, никак от этого не пострадают: они продолжат общение между собой. Когда потерявшийся сервер вернётся в сеть, он подтянет пропущенную историю сообщений. Между тем, пользователи третьих серверов, ранее не подключавшихся к этой комнате, не смогут войти в комнату, если будет недоступен сервер с исходным адресом комнаты.
  2. Чтобы обойти последнее ограничение, для комнаты, имеющей адрес на сервере А, можно создать "алиас" на другом сервере Б. Создать алиас на своём сервере может любой его пользователь, имеющий право создавать там комнаты; права администратора или модератора комнаты для этого не требуются. Теперь, даже если сервер А будет остановлен, пользователи третьего сервера В смогут подключиться к комнате, используя её адрес на сервере Б.