TCP 연결
장점:
- 낮은 지연 시간: 네트워크 지연 시간이 적고 빠른 응답 속도를 제공합니다.
- 연결 유지: 지속적인 연결을 통해 데이터를 스트리밍하거나 실시간으로 송수신할 수 있습니다.
- 프로토콜 유연성: 사용자가 필요에 따라 커스터마이징 할 수 있는 원시 소켓 통신을 제공합니다.
단점:
- 복잡성: 커스터마이징과 구현이 복잡할 수 있으며, 연결을 관리하는 데 추가적인 코드와 노력이 필요합니다.
- 보안: 별도의 보안 프로토콜을 구현해야 할 수 있습니다(예: TLS).
API 통신 (HTTP/HTTPS)
장점:
- 표준화: RESTful API, GraphQL 등 표준화된 방식으로 통신할 수 있습니다.
- 확장성: 요청/응답 구조를 통해 다양한 클라이언트(웹, 모바일 등)와 쉽게 통신할 수 있습니다.
- 보안: HTTPS를 통해 기본적인 보안이 제공되며, 인증 및 권한 부여를 간편하게 구현할 수 있습니다.
단점:
- 성능: TCP에 비해 다소 높은 지연 시간과 네트워크 오버헤드가 발생할 수 있습니다.
- 상태 비저장: 각 요청이 독립적이기 때문에 지속적인 연결이 필요한 경우 적합하지 않을 수 있습니다.
오늘은 복사하는 날이다.
서버를 여러개로 분리하면 서버끼리의 통신을 설정할 필요가 있다.
일단은 로드 벨런서 관련 프로그램은 안할 계획이다.
로그인 기능을 구현하고 api통신을 사용할 것이다.
인터벌 관리 (위치 동기화 등) 은 tcp 통신을 활용할 예정이다.
각 사용자의 컴퓨터 성능이 다르기 때문에 클라이언트에서 요청을 보내야 한다.
클라이언트에 의도치 않은 ddos 공격이 될지도 모른다.