Chat Fusion

Chat Fusion

Мост между групповыми чатами Telegram, MAX и веб-чатом на сайте: сообщение из любой группы появляется во всех остальных группах чата и в веб-интерфейсе.

Как идёт сообщение

  1. Адаптер Telegram или MAX присылает вебхук, адаптер пишет событие в Kafka chat.incoming.
  2. Message Hub Находит чат, узнаёт автора у Identity по gRPC, сохраняет сообщение в PostgreSQL.
  3. Рассылка Копии уходят в chat.outgoing: адаптеры и Web Chat доставляют их в свои группы.
  4. История 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 · Kafka
Web Chatпроверка…
SignalR-хаб веб-чата на сайте. SignalR · Kafka
Message Hubпроверка…
Ядро: дедупликация, маршрутизация, REST /api/chats. PostgreSQL · Redis · gRPC
Identityпроверка…
Профили, роли и блокировка пользователей. PostgreSQL · gRPC
Historyпроверка…
Лента сообщений и поиск, REST /api/history. MongoDB · Kafka
Произошла ошибка. Перезагрузить ✕