Q&A

  • midas 에 대한 궁금증?
안녕하세요? ^^
midas에 대해서 궁금한게 있어서 질문올립니다.

midas를 사용할때 클라이언트를 SocketConnection 을 사용해서 구현하려고 합니다.
자료를 찾아보다가 Dcom 으로 하면 문제점이 발생할 수 있다구해서
SocketConnection 이넘을 쓰기로 했습니다.

SocketConnection을 사용했을때 최대 몇명의
user까지 속도저하 없이 사용이 가능한지요?
그리고 2 tier로 했을때랑 속도차이는 없는지 궁금하구요!

app 서버의 처리프로세서에 대해서 궁금한게 있는데요!
만약 A, B 클라이언트에서
특정 데이터를 A,B 클라이언트에서 insert/select/update 작업을 동시에 할때
작업이 빠른순으로 순차적으로 처리가 되는지
아니면 독립적으로 따로따로 실행이 되는지 궁금합니다.
책을 보니 multithread 로 실행된다는데 혹시나 해서 이것두 질문합니다. ^^

마지막으로
데이터 작업사항이 ApplyUpdates 를 실행하면 DB에 적용되는 거루 알고 있는데요 데이터 건별로 바로 ApplyUpdates를 적용하면 별문제가 없는지
궁금합니다.
너무 많은 질문을 했군요 ^^;

답변해주시면 감사하겠습니다.
수고하세요!
2  COMMENTS
  • Profile
    김춘경 2004.09.22 01:38
    질문이 너무 광범위 해서 꼭 집어서 말씀드리기는 애매하지만, 일단 참고 삼아 저의 경험을 바탕으로 설명드리겠습니다.

    1. 사용자 수?
        데이터 전송량이나 트랜잭션 양에 따라 따르겠지만, 거의 전적으로 서버의 능력에 의존합니다.
        이걸 테스트해 볼려면 무지막지한 루핑 테스트 해보면 금방 나옵니다.
        국내 대기업 수준의 사용자도 커버됩니다. 물론 빵빵한 사양의 서버가 병렬로 구성되어야겠죠 ^^

    2.2Tier와의 속도 차이
        로컬 내에서 사용되는 소규모 네트웍이라면 속도 차이를 거의 못느끼실 겁니다.  만일 원격 네트웍이라면 회선 속도 만큼의 시차는 발생하겠지만 2Tier 방식과 1대 1로 비교하기는 힘들겠죠.
        일단 마이더스를 채택하기로 했다면 2티어와의 속도 비교는 무의미합니다.
        왜냐면, 2티어의 단점을 보완하기 위해 만들어진 기술이 최소한 2티어 방식보다 못하다면 말이 안되겠죠 ^^

    3. 서버의 처리 프로세스
        일단은 빨리 연결된 순으로 처리하겠죠. 이건 저도 직접 세밀하게 테스트해 보진 못했습니다. 이건 로그를 남기면서 테스트해보면 금방 알 수 있을 것 같습니다.

    4. ApplyUpdates
        해당 비지니스 로직의 성격에 따라 다르겠지만, 서버는 다중 사용자의 요청을 동시에 처리해야 한다는 대 명제를 기본으로 한다면, 데이터는 건별로 처리하는게 옳지 않을까 합니다.  물론 때론 특수한 상황에서 테이블에 락을 걸고 어떤 프로세스가 처리될 때까지 기다려야 하는 상황도 발생하겠죠...

    5. 참고사항
        기존에 2티어로 개발하던 분이 3티어로 개발할려면 머리가 좀 아플 겁니다.
        모든 로직을 멀티로 생각해야 되기 때문이죠..서버 프로그램도 비주얼 환경이 아니다 보니 디버깅하는거 꽤 골치 아픕니다.
        서버측 프로그램은 전역변수 절대 사용하면 안됩니다. 개념 없이 전역변수 사용하면 나중에 뒤죽박죽 됩니다. ^^
        2티어 방식보다 개발기간 깁니다.
        일정 규모 이하의 소규모 환경에는 배보다 배꼽이 더 클 수도 있습니다.
        미들웨어를 꼭 사용해야 하는 중.대규모의 프로젝트에는 적용해 볼 만 합니다.
        중.대규모 프로젝트에 적용해서 성공적으로 오픈할 수만 있다면 뿌듯한 자부심을 가질 수 있습니다.^^

    이상 정리되지 않은 경험담이었습니다.  도움 되시길...

  • Profile
    백 진욱 2004.09.22 01:52
    답변해주셔서 감사합니다.

    제가 3tier 가 첨이라
    아주 많은 도움이 될것 같습니다. ^^;

    즐거운 하루되세요~~! ^^