TCP 서버

  • 장점

    • 성능이 좋다. (=빠르다)

    • 커넥션 기반

    • stateful 기반

      • 가용성을 확보하기 어려움.

      • 코딩은 용이함.

    • notify가 가능. (클라이언트의 요청없이 서버가 패킷 전달)

  • 단점

    • 커넥션 기반이라, 커넥션 유실/복구 이슈

    • 로직간 결합도가 높아지는 경우가 자주 발생한다.

    • 서버 크래시에 대한 높은 리스크.

웹 서버

  • 장점

    • stateless 기반

      • 가용성 확보가 쉬움.

      • state는 모두 db에 존재.

    • 오픈소스 프레임워크가 많고, 검증되어있음.

    • 프레임워크 내에서도, 다양한 기능들이 오픈소스로 배포되고 쉽게 사용 가능.

    • 로직간 결합도가 낮다.

      • state가 없음으로

    • 서버 크래시에도 큰 장애는 없다.

      • 어지간해서는 서버 크래시도 없다.

        • 부하로 인한 timeout이나, 스크립트 오류가 발생할 뿐.

  • 단점

    • 모든 데이터는 요청마다 db를 조회해야해서 성능이 떨어진다.

    • notify가 어려움. (1-request, 1-response 구조)

    • 다른 피어와 통신용으로 사용하기 위해선 polling이 필요하다. [like ajax]


Posted by 엘키 엘키

댓글을 달아 주세요

이전버튼 1 2 3 4 5 6 7 8 9 ··· 360 이전버튼

블로그 이미지
Software Engineer
엘키

공지사항

Yesterday31
Today29
Total1,605,483

달력

 « |  » 2020.8
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

글 보관함