: - 설명 : 만일에 "업로드요청"을 위한 "서버P/G" 와 "다운로드요청"을 위한 "서버P/G"를
: 별도로 두고 서로다른 포트를 열어서 서비스 해주는 모델로 간다면 그 효율이
: 많이 떨어 질까요?
서버의 리소스만 충분하다면 전송효율은 훨씬 좋을 겁니다. 그러나 문제는 한 사용자를 위하여 두개의 접속을 관리해주어야 하는 부담이 있습니다. 특히 스레드를 사용한다면 두개의 포트를 리스닝하면서 메세지관리를 해 주려면 상당한 부담이 따를 겁니다.
:
: 이 질문에 "효율은 그다지 많이 떨어지지 않는다"고 대답하더라도, 일반적인
: 기업의 서버개발 방향이 하나의 "서버P/G"로 다양한 종류의 Client 요청을 처리
: 하는 쪽이므로, 하나의 "서버P/G"가 더 알맞다 입니까?
:
: 어쩌면 하나의 DB에 접근하는 "서버P/G"이므로 DB connection을 맺고 해제하는
: 등의 많은 시간을 요하는 부분때문에 하나의 "서버P/G"로 가는게 맞는 겁니까?
어떤 형태가 좋다는 정답은 없습니다. 자신의 요구조건에 맞은 3 tier가 아니라 4,5 tier프로그램도 괜찮습니다. 사실 처음에 접속할때 약간의 시간이 시간이 경과되는 것은 문제가 되지 않습니다.
왜냐하면 인터넷을 통하여 서버에 접속하는 시간이 서버에서 DB접속을 여는 시간보다는 긴 경우가 많으므로 서버에서 DB접속시간을 줄이더라도 크게 효과는 없는 경우가 많더군요.
fail over 시스템처럼 동시에 미들웨어 서버프로그램을 여러 컴퓨터에 두고 하나의 DB서버에 접속하는 방식도 많이 사용합니다. 이 경우는 한 서버가 죽어도 다른 서버에 접속하도록 하는 방식입니다.
처음에 시작은 가급적이면 가장 쉬운방식으로 시작하는게 편할 겁니다.
클라이언트의 인터페이스만 유지해주면 서버사이드야 항상 업그레이드가 가능하니까요.
|