[ 목적 ]
채팅방 소캣을 효율적으로 구성하여 최적화된 애플리케이션을 개발할 수 있다.
[ 채팅방 별 소캣 사용 vs 하나의 소캣으로 공유 ]
채팅방 별 소캣 사용
1. 장점
- 트래픽이 많을 경우 채팅방마다 최적화된 환경을 제공할 수 있다.
-
2. 단점
- 소캣은 열 수 있는 최대 파일 개수와 똑같으므로 한정적인 자원을 소모한다. 애플리케이션이 잘 되서 사용자가 많아질 경우 소캣 관리가 어려워진다.
- 구현 난이도가 어렵다.
예상되는 메시지 구조
1. 메시지 타입 ( 문자열, 이미지 등 )
2. 메시지 데이터
하나의 소캣으로 공유.
1. 장점
- 소캣의 개수가 적어지므로 클라이언트가 늘어나도 부하를 견딜 수 있고, 소캣 관리에 용이하다.
- 개발 스피드가 빠르다.
2. 단점
- 메시지에 채팅방 타입과 같이 채팅방을 비교할 수 있는 타입을 넣어야하므로 데이터의 크기가 커진다.
- 하나의 소캣으로 모든 채팅방이 공유해야하므로 채팅방마다 최적화된 환경을 제공할 수 없을 수 있다.
예상되는 메시지 구조
1. 채팅방 구분 타입 ( 문의 / 채팅 )
2. 대화 상대 별 구분 타입 ( 클라이언트 아이디, 폰 번호가 될 예정 )
3. 메시지 타입 ( 문자열, 이미지 등 )
4. 메시지 데이터
[ 타 애플리케이션의 서버 구조 ]