|
기본적으로 땅주인 님께서 말씀해주신 방법대로 프로그램 시작/종료 시에 DB도 connection/close 해 주는 방식이 좋습니다.
비슷한 프로젝트 진행 해본 경험상, 일반적이지 않은 상황에 대해 다음 몇가지 정도의 처리만 신경 써 주었던 기억이 나네요
1. MySQL Force Close 가 일어날 경우 주기적으로 재 연결 요청
2. 1번 상황에서 DB Connection을 잃어버린 경우 들어오는 데이터 트렌젝션에 대한 정책(종료, 큐 대기, Parallel DB Server)
3. 장비 데이터의 경우 Serialize 데이터가 많이 때문에 failover 후 Active 하기 위한 정책(매번 DB에 진입점 확인하고 하면 골치 아프죠)
4. MySQL 에서 일정 시간 동안 아무런 쿼리가 없는 경우 Connection을 끊습니다. MySQL설정을 바꾸시거나 주기적으로 Heartbeat류의 쿼리를 날려주는 방식을 씁니다.
김시환 님이 쓰신 글 :
: 장비제어 소프트웨어를 만들다 보니 데이타베이스는 거의 사용할 일이 없어서 전혀 공부하지 않았는데 이번에 어찌어찌하여 MySQL 에 데이타를 저장해야 하는 프로젝트를 하게 되었습니다.
:
: 측정한 샘플의 데이타를 DB Server에 저장하는 일입니다.
:
: 일단 디비서버에 데이타를 쓰는것 까지는 테스트가 되었습니다. 그런데 이 시점에서 궁금한 것이 DB 서버 컨넥션에 대한 부분입니다.
:
: DB Server 에 연결하는 시점과 해제 하는 시점이 언제인가 하는 것이 질문인데요...
:
: 프로그램을 구동하면서 장비의 Initialize 할 때 DB 서버에 연결하고, 장비 사용을 마무리하고 프로그램을 종료하는 시점에 서버연결을 해제하는 것이 옳은것인지? 아니면 DB 서버에 접근할 때 그때 그때 접근하는 것이 옳은것인지 궁금하네요..
:
: 장비라는 것이 한번 켜 놓으면 어지간해서는 끄지 않기 때문에 무한정 연결 시켜놓는것이 옳은것인지 궁금합니다.
:
: DB를 처음 해보는 1인이였습니다.
|