본문 바로가기
카테고리 없음

채팅방 애플리케이션 소캣 설계

by 흰색남자 2023. 8. 7.

[ 목적 ] 

채팅방 소캣을 효율적으로 구성하여 최적화된 애플리케이션을 개발할 수 있다.

 

[ 채팅방 별 소캣 사용 vs 하나의 소캣으로 공유 ]

채팅방 별 소캣 사용

1. 장점

- 트래픽이 많을 경우 채팅방마다 최적화된 환경을 제공할 수 있다.

2. 단점

- 소캣은 열 수 있는 최대 파일 개수와 똑같으므로 한정적인 자원을 소모한다. 애플리케이션이 잘 되서 사용자가 많아질 경우 소캣 관리가 어려워진다.
- 구현 난이도가 어렵다.

예상되는 메시지 구조

1. 메시지 타입 ( 문자열, 이미지 등 )
2. 메시지 데이터

 

하나의 소캣으로 공유.

1. 장점

- 소캣의 개수가 적어지므로 클라이언트가 늘어나도 부하를 견딜 수 있고, 소캣 관리에 용이하다. 
- 개발 스피드가 빠르다.

2. 단점

- 메시지에 채팅방 타입과 같이 채팅방을 비교할 수 있는 타입을 넣어야하므로 데이터의 크기가 커진다.
- 하나의 소캣으로 모든 채팅방이 공유해야하므로 채팅방마다 최적화된 환경을 제공할 수 없을 수 있다.

예상되는 메시지 구조

1. 채팅방 구분 타입 ( 문의 / 채팅 )
2. 대화 상대 별 구분 타입 ( 클라이언트 아이디, 폰 번호가 될 예정 )
3. 메시지 타입 ( 문자열, 이미지 등 )
4. 메시지 데이터

 

[ 타 애플리케이션의 서버 구조 ]