메인 서버가 있고
서브 서버들이 있음
서브 서버들은 메인서버에 접속하고
각각의 클라이언트들은 메인 서버와 서브 서버에 접속함.
DB에 접근하려면 메인 서버에 요청을 해서 데이터 처리를 합니다.
메인서버는 절대 죽지 말아야 하겠지만...
만약 아주 만약에 메인서버가 죽어버리면 중간에 패킷 소실이 일어날 경우 데이터가 꼬이게 될텐데요...
그냥 모든 서브 서버에서 DB 커넥션을 가지고 있게 하는게 더 나을라나여?
윈도우프로그래밍에서 트랜잭션 처리를 어찌하는지 몰라서 그냥 동기화 시켜서 트랜잭션 처리를 하고 있어서
이렇게 구성했긴 한데...
아니면 더 좋은 방법이 없을까요?
아 그리고 추가적인 질문으로 GetLocalTime으로 키를생성하여(밀리세컨드 단위임)
중복되지 않은 키를 만들 수 있을까요? 제공해주는 API가 완료키를 지원안해서 자체적으로 시간정보를 가진 완료키가 필요한데...
자세히는 모르겠지만 sub에서 main으로 요청할때 재전송과 확인응답 개념을 추가하는게 어떨까
키의경우 나도 timestamp 로 세션키를 만들어 쓰는데 문제되지않을듯해
음... 확인응답까지 받으면 지연이 많이 걸릴거 같은데 ㅠㅠ...
음..그런데 아무리 TCP세션이라 하더라도 확실한 전송을 보장할 수 없기때문에 내가만드는 시스템에서는 요청/응답으로 커맨드들을 한쌍씩 묶어버렸읍ㅁ
Main / Sub 서버에서 DB는 DB 세팅에 대한 문제고, 트랜잭션은 어떤 DB를 사용하느냐 ?와 그기의 트랜잭션 흐름의 문제