Дизайн системы чата - один на один и группа - Laravel, redis, socket.io, узел - PullRequest
0 голосов
/ 27 марта 2019

Я хочу знать, как можно построить структуру БД для Система чата - один на один и группа. Я использую MySQL.

Я использую Laravel, redis, socket.io

Я просто создаю простой чат, чтобы понять стек

Как я работаю

Клиент 1 msg -> Laravel сохранить в БД и нажать в redis -> Node redis client listen -> socket.io send to -> Client 2

Как это работает для группового чата, а не живого чата?

1 Ответ

0 голосов
/ 27 марта 2019

Вы можете построить что-то подобное с минимальными столбцами

chat (один к одному)

id | message | message_type | sender | reciever | reply_to (optional) | created_at | updated_at | deleted_at (optional)

chat_messages (группа)

id | group_id | message | message_type | sender | reply_to (optional) | created_at | updated_at | deleted_at (optional)

Вы должны определить groups (group_id - отношение), если хотите реализовать

Вы можете предпочесть приведенный выше пример, только там есть базовые функциональные возможности.вы можете обновить на основе вашей логики

...