Главное о кейсе
В 2022-м году Slack объявил о закрытии российских аккаунтов и отказе работы с российскими организациями. LOOP - это альтернатива Slack, которая позволила десяткам российских организаций перенести свою коммуникацию на продукт созданный специально для РФ.
Как проект изменил жизнь пользователей
Теперь организации переехавшие на LOOP могут быть спокойны что их данные хранятся на территории РФ, как и обслуживающая их организация и что из-за очередных санкций у них не появятся очередные проблемы с коммуникациями.
LOOP на данный момент используют более 11 000 пользователей, создано 175 362 каналов и отправлено более 36 000 000 сообщений.
Бизнес-задача и ее решение
Основная задача системы - организация коммуникации между сотрудниками компании. LOOP - полностью закрывает потребности пользователей по переписке и предоставляет богатые возможности по ведению диалогов. Так как в чатах пользователи проводят очень много времени, LOOP позволяет интегрироваться в себя и сторонние системы заказчика, что дает возможность замкнуть всю работу на одной системе (отсюда и название LOOP).
Крафт (мастерство), реализация, технические детали
Основной проблемой проекта является высокая нагрузка на систему при большом количестве пользователей.
Чаты — крайне ресурсоемкие системы, и от нас потребовалось реализовать межпроцессовое взаимодействие между узлами в кластере без использования дополнительных сервисов, типа очередей.
Мы смогли разработать систему, позволяющую автоматически назначать ведущий узел и организовать коммуникацию между узлами через быстрый бинарный протокол, который использует сообщения размером до 9 КБ, что вызвало дополнительные сложности. Однако они были решены с помощью предварительного сжатия данных.
Теперь система может выдерживать до 25 000 активных пользователей на одну команду.
Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком
Система базируется на широко известном решении и написана на Golang + React + ReactNative + Electron.
Система управления облачной инфраструктурой и менеджментом ресурсов реализована на Java + Spring.
Процессы CI/CD полностью автоматизированы и позволяют обновлять систему без остановки и простоя.
Скриншоты