Chat Fusion
Мост между групповыми чатами Telegram, MAX и веб-чатом на сайте: сообщение из любой группы появляется во всех остальных группах чата и в веб-интерфейсе.
Как идёт сообщение
- Адаптер
Telegram или MAX присылает вебхук, адаптер пишет событие в Kafka
chat.incoming. - Message Hub Находит чат, узнаёт автора у Identity по gRPC, сохраняет сообщение в PostgreSQL.
- Рассылка
Копии уходят в
chat.outgoing: адаптеры и Web Chat доставляют их в свои группы. - История History складывает сообщение в ленту MongoDB для веб-чата и поиска.
Сервисы
Telegram Adapterпроверка…
Вебхук Telegram → chat.incoming, chat.outgoing → Bot API.
ASP.NET Core · KafkaДокументация API (Scalar)MAX Adapterпроверка…
Вебхук MAX → chat.incoming, chat.outgoing → MAX Bot API.
ASP.NET Core · KafkaWeb Chatпроверка…
SignalR-хаб веб-чата на сайте.
SignalR · KafkaMessage Hubпроверка…
Ядро: дедупликация, маршрутизация, REST /api/chats.
PostgreSQL · Redis · gRPCIdentityпроверка…
Профили, роли и блокировка пользователей.
PostgreSQL · gRPCHistoryпроверка…
Лента сообщений и поиск, REST /api/history.
MongoDB · Kafka