2010-12-09 5 views
0

이것은 프로그램 질문이 아니지만, 나는 그 프로그램 로직 질문을 추측한다. 나는 하나의 작은 쇼핑 응용 프로그램을 만들었습니다.좋은 실행 시스템에 대한 백업

기술이 응용 프로그램에 사용되는 : PHP, MySQL은, 자바 스크립트이 가게 단골 손님의 arraivals를 들어

거의 1000 고객 시간당, 내가 약 10 ~ 15 카운터를 동시에 실행 내 응용 프로그램, 하나 개의 서버, 15 클라이언트 설치 , 이것은 환경과 상점과 응용 프로그램에 대한 기본 세부 사항, 지금 내 작은 의심, 시스템이 갑자기 추락한다면, 내가 취해야 할 단계는 무엇입니까?

예 : 다른 사용자가 데이터베이스를 사용해야하는 경우 손으로 결제해야합니다. 손 계산서가 조금이라도 문제가된다면, 작업자가 작업 부하가 너무 많습니다. 나는 다른 데이터베이스를 가지고 있는데, 같은 테이블이 존재한다. 만약에 잘못된 것이 있다면, 2 차 데이터베이스로 갈 것인가?

좋아요.이 시나리오는 다음과 같습니다. 1501에 대한 청구서를 내 1501 건 내 시스템에서 삭제했습니다. 다른 보조 데이터베이스로 이동하면 결제가 1부터 시작하므로 일부 중복 청구서가 발생하지 않을 것입니다.

나는 당신의 제안과 아이디어,

감사

답변

1
난 당신이 백업마다 몇 시간을 자동화하는 CRON 작업의 몇 가지를 설정할 수 있습니다 추측

및 필요는 MySQL 서버 또는 ISN '을 연결할 수없는 경우 페이지를로드 할 수 있으면 유지 보수 페이지로 돌아가서이를 고칠 수있는 이메일을 보냅니다.

백업 데이터베이스 사용에 익숙하지 않지만 10 분마다 데이터베이스를 확인하기 위해 CRON 작업을 설정할 수 있다고 생각합니다. 응답을받지 못하면 데이터베이스에 연결하는 서버가 변경됩니다. 백업 데이터베이스? 그러나 이것으로 모든 것이 제대로 작동하는지 꽤 많이 테스트해야합니다.

+0

genrally 나는 mysql_query ($ resultset, MYSQLCONN)의 mysql_conn을 mysql_query ($ result_set, mysql_conn1, mysql_conn2) – Bharanikumar

+0

대기 2 개의 데이터베이스에 동시에 연결할 수 있기를 원하십니까? 첫 번째 데이터베이스가 손상된 경우 백업 데이터베이스 일뿐 아니라 죽지 않는 한 두 데이터베이스에 모두 연결할 필요가 없습니다. –

+0

아니 내 생각은이 좋은 방법이다. – Bharanikumar

1

마스터/슬레이브 설정을 확인할 수 있습니다. MySQL 문서를 본다. 그러나 본질적으로 마스터에서 트랜잭션의 복사본 인 바이너리 로깅 ('ACID Transactions'이 아닌 디스크에 쓰기라는 의미의 트랜잭션)을 스위치 온하면 이들은 슬레이브로 전송되어 슬레이브에 기록된다 데이터베이스를 사용하는 것입니다. 따라서 슬레이브는 일반적으로 마스터 뒤에 약간의 트랜잭션이 있습니다. 그런 다음 http 서버를 슬레이브 데이터베이스로 전환하는 자동 또는 수동 페일 오버 메커니즘을 설정하십시오. 이것은 하드웨어와 서버 간의 원활한 연결을 전제로합니다 그러나이를 달성하기 위해서는 데이터 손실과 가동 시간에 대한 합리적인 수준의 보호가 필요합니다.

+0

이것을 구현하는 방법은이 기능에 대한 자습서가 있습니까 – Bharanikumar

+0

mysql.com의 MySQL 설명서에 모두 포함되어 있어야합니다. 우리가 그것을 구현할 때 우리는 그것을 사용했고주의 깊게 그것을 읽었습니다. 하지만 꽤 괜찮습니다. – PurplePilot

관련 문제