데이터베이스 개발자 질문과 답변 게시판
안녕하세요.
그래서 A서버, B서버, C서버 이런식으로 3개의 웹사이트를 만들었고
각자 회원 DB를 가지고 있습니다.
A,B,C 서버를 모두 제어할수 있는 K라는 서버를 만들으려고 합니다.
A,B,C 모두 동일한 DB구조를 쓰기 때문에 K라는 서버에서 A,B,C서버로 명령을 보내면
그거에 맞게 명령전달이 되고 정상완료되는지에 대한 내역이 다시 K 서버로 돌아오게 만들고 싶습니다.
제가 웹디자인 출신이라 자세히 몰라서
저희 담당 프로그래머에게 물어봤더니
K라는 서버가 A,B,C에 순차적으로 명령을 내리고
A서버가 명령전달받고 완료에 대한 답이 다시 K서버로 돌아오고 그다음에
B서버로 명령전달하고 완료에 대한 답이 다시 K서버로 돌아오고 그다음
이런식으로 밖에 구현을 못한다고 하네요.
그렇다면 서버가 6개라면 한 서버당 회원이 600명이면 1명당 처리 1초라 치면 각기서버에서 10분씩
총 한번의 명령을 내렸다가 완료에 대한 답을 받는데 6번째서버가 끝는게 한시간이 걸린다는 겁니다.
도저히 상식선에서 이해가 안가네요.
모두 정상완료에 대한 답이 K서버로 순차적으로 돌아오는 시스템으로 밖에 구현을 못한다는데
일괄적으로 하부서버로 명령전달해서 정상완료에 대한 여부를 재 수신 받는건 각 서버에 사정에 따라 응답받는 구조는 안될까요?
답답하게 이렇게 장문의 글을 씁니다. 도와주세요ㅜㅠ
Comment 8
-
진윤호
2012.12.28 15:41
-
진윤호
2012.12.28 15:44
웹이 아닌 별도의 클라이언트 서버를 가지고 계시다면 가능합니다.
서버가 완료될때 까지 다음 명령을 보내지 않고 들고 있으면 가능합니다만
데이터 동기화는 불가능 합니다.
-
건우아빠
2012.12.28 15:52
진윤호님께서 말씀하셨다시피
질문하신분(금나라은나라)이나 답변하신 프로그래머나 순차적인 으로 명령을 내린다에 한정두고 이야기가 진행 된듯 합니다.
당연 순차적으로 처리하신다면 당연 그렇게 됩니다.
그럼 관리 서버에 동시에 명령을 보낸다면 ?
-> 그럼 이때 문제 동시에 보내는 방법은 ?
1. 몸빵( 쿼리창 서버별로 띄우고 동시는 아니지만 각각 명령 날린다...)
2. 멀티테스킹으로 처리가 가능한 프로그램을 짠다. ( 어플, 에이전트, 예약작업,..)
-
문수정
2012.12.28 15:58
저번에 좋은 도움말 감사했습니다~
좋은 연말연시보내시고 내년에 또 여기에 신세 많이질듯합니다~~~~~~~~ㅎㅎㅎ
항상건강하시고.........
마지막 출근일이라 사무실에서 전체적으로 술한잔하는중입니다~~~~~
헤롱헤롱하네요........ㅋ
-
건우아빠
2012.12.28 16:10
별말씀을 다하십니다.
감사합니다 . 문수정님은 저보다 한참 연배가 높으신데 필드에 존재 하신다니 희망이 보입니다.
전 아직 40대라 ㅎㅎㅎ.
건강 조심하시고 희망찬 신년을 기원 합니다.
-
문수정
2012.12.28 15:54
저도 많은지식은 없지만............
저희가 관리하는 서버가 150대정도 됩니다만.....
저희의경우는 전부 제앞으로 메일로 처리결과를 발송하게 agent에다가 걸어놓코 하고있습니다.
집이나 밖에서도 명령처리결과는 항상볼수있습니다.
그리고 한명당 처리가 1초라는건 예를들어 말씀하신거지요?
저희도 사용자및 회원테이블에 회원이 몇십만되지만......
1명당 1초라는개념은 사용안합니다.
내용을 이해못했다면 죄송합니다~
좋은연말 보내십시요~~~~~~~
-
건우아빠
2012.12.28 16:06
http://www.sqler.com/462232 이런 방법도 참조. -
솔이
2012.12.31 08:46
결과를 받고 다음 진행을 하게끔 프로그래밍 한다면
A서버 장애시 B, C서버 모두 장애가 나기 때문에 문제가 있어보입니다.
물론 케이스 바이 케이스!! 서비스의 종류에 따라 중요도가 다르겠지만(회원 동기화? 회원 등록?)
다른 경우의 로직으로는
결과 상관없이 모두 명령 하달 후 비정상적인 로그에 따른 후속조치 로직을 추가하는 방법도 있습니다.
프로그래밍의 기본을 이해하셔야 할 듯 합니다.
기본적으로 프로그래밍은 순차적 언어이고 순차적으로 처리되는 것이 맞습니다.
기본적으로 병렬 처리 하게 되면 동기화의 문제가 발생하기 때문에 완벽한 프로그램이 아닙니다.
상식적인 내용이지요
작성자 분께서 3분께 편지를 보냅니다. 1번 2번 3번
2번 과 3번에겐 완료되었다는 답변이 왔지만 1번에겐 아직 답변이 오지 못했습니다.
하지만 답변이 오기 전에 작성자 분께서 2번째 편지를 보냅니다.
2번째 편지가 발송되고 나서 1번에서는 오류가 발생해 완료하지 못했다는 답변을 보냈습니다.
하지만 이후 2번째 편지 답변으로는 1번 2번 3번 모두가 완료했다는 답변이 왔습니다.
그렇다면 첫번째 편지에 대한 1번의 수행은 완료되지 않고 종료하게 됩니다.
그럼 1번 2번 3번은 다른 내용을 가지게 되었습니다.
이것을 하루에 수십번 반복하다 보면 셋이 같은 내용을 가질 수 있을까요?