Nie mówię tak naprawdę o ogólnej aplikacji do czatu, ale raczej o implementacji czatu.Dyskusja: Najlepszy sposób na zaimplementowanie czatu za pomocą pliku node.js/socket.io?
Więc node.js/socket.io, myślałem o dwóch podejściach
Utwórz tablicę dla każdego czatu, nadawanie wiadomości do wszystkich użytkowników w tablicy
Broadcasts wszystkie wiadomości do wszystkich użytkownicy na komputerach klientów określają, czy należą do czatu, jeśli tak, zaakceptuj wiadomość.
Słabość w 1 jest to, że w końcu, jak skalowanie będzie zalewać pamięci serwera z obiektów tablicy, a ja korzystając tylko około 80 MB na moim hostingu.
Słabością w 2 jest to, że nadawanie wszystkim jest kosztowne, a powodzie, że maszyny klientów nie uszczęśliwią ich.
Jestem pewien, że istnieją lepsze podejścia do wdrażania czatu, dlatego proszę was o pomoc. Poszukuję wydajności po stronie serwera po stronie klienta i musi być skalowalna.
Z 80MB można utworzyć wiele czatów. Twoje tablice muszą tylko przechowywać identyfikatory użytkownika. Czy uruchomiłeś jakieś testy zużycia pamięci? – user123444555621
Zrobiliśmy funkcjonujący [multi-room chatroom] (https://github.com/Raynos/so642). To jest open source, nie krępuj się. – Raynos
@ pumbaa80 prawda, ale 80mb staje się jak 20-30mb po uruchomieniu wielu innych procesów lub zadań crona, które mogą być potrzebne, a nadal nie sądzę, że jest to dobry sposób na skalowanie, ponieważ pamięć jest droga ... – Derek