WebSocket chat w Spring Boocie - kilka pytań na temat rozwiązania

0

Hej,
mamy u nas prosty serwis na Spring Boocie, taki intranet.
Padł pomysł, aby rozbudować go o moduł chata.

Jest dużo przykladów na internetach na ten temat.
Nie wiem czy dobrze rozumiem tą zasadę działania ale zwykle jest to tak, że zaczyna się subscribować jakiś feed czyli informacje z chat roomu.
Wydaje się to całkiem proste gdy mamy jeden lub dwa chat roomy.
A jeśli będziemy mieli ich ze 100? Niektóre będą roomami mandatory czyli każdy będzie miał je podłączone i będzie miał do nich dostęp. Część będzie dynamicznych czyli każdy user będzie mógł sobie stworzyć własny i stwierdzić czy jest publiczny czy być może prywatny i podać listę użytkowników które mają dostęp do tego rooma.

No i teraz zastanawiałem się czy być może nie zrobić tego trochę inaczej aczkolwiek nie wiem jak będzie z wydajnością i sensownością dlatego tutaj pytanie do Was.
W spring boot każdy user ma też własny feed związany z kontem użytkownika na zasadzie: "/user/login", itp.

W momencie kiedy user wysyła wiadomość lub coś trafia do jakiegoś użytkownika w wiadomości przekazana była by informacja na temat treści wiadomości oraz chat roomu którego to dotyczy. Gdy wiadomość wpadnie do backendu wtedy backend wyciągnie dane rooma, sprawdzi czy np. ktoś ma możliwość pisania do tego rooma, następnie wyciągnie wszystkich użytkowników którzy mają dostęp do tego rooma i do nich wyśle taką wiadomość indywidualnie czyli na endpointy ich feedów.

Nie wiem czy to jest dobre podejście do tematu.

Z góry dzięki za wskazówki.

1

Czy kupienie licencji na Slacka wchodzi w grę? :)

EDIT. Skup się na najprostszym kejsie - masz jeden pokój i w jakiś sposób musisz zrobić broadcast wiadomości do ludzi z pokoju. Gdzie będziesz trzymał takie mapowanie? Jaka jest charakterystyka zapytań? Wybierz odpowiednią bazę. Potem możesz dodawać kolejne komplikacje typu zakładanie i usuwanie pokoi, zarządzanie uprawnieniami itp

0
Charles_Ray napisał(a):

Czy kupienie licencji na Slacka wchodzi w grę? :)

Kupić! Kupić! Kupić to każdy głupi umie, a postawić serwer darmowego XMPP to nie ma komu

0

Możesz skorzystać z biblioteki socket.io, ona ogarnia broadcast per pokój.

1 użytkowników online, w tym zalogowanych: 0, gości: 1