2012-10-20 2 views
2

복제 된 데이터베이스를 사용하는 활성 - 활성 클러스터를 설계하는 가장 좋은 방법은 무엇인지 알아 내려고합니다. 네트워크로드 균형 조정 및 장애 조치 (failover)를 위해 Windows NLB를 사용할 수 있습니다. 데이터베이스의 경우 마스터 - 마스터 복제를 수행 할 수있는 MySQL을 사용할 수 있습니다. 이것은 단순한 부분입니다.Windows 메시징 서비스를위한 액티브 - 액티브 고 가용성 디자인?

이제 내 문제는 복제 된 데이터베이스에 연결된 메시징 서비스를 프로그래밍하는 방법입니다. 두 서비스가 충돌없이 같은 테이블에서 작동 할 수 있도록 설계하는 가장 좋은 방법은 무엇입니까? 장애가 발생하면 실패한 노드에서 완료되지 않은 트랜잭션은 다른 노드에서 가정해야합니다.

다음은 메시징 서비스의 작동 방식입니다. 웹 클라이언트는 수신자와 메시지로 웹 서비스를 호출합니다. 웹 서비스는 메시지를 데이터베이스 큐에 삽입합니다. 특정 조건이 충족되면 메시지가 전송됩니다. 몇 일 이내에 또는 며칠 후에 발생할 수 있습니다.

나는 인터넷에서 광범위한 검색을 수행했지만 아무 소용이 없습니다. 비슷한 일을 한 사람 있습니까? 감사.

+2

RabbitMQ와 같은 고 가용성 메시징 서비스에 대해 알고 계십니까? 이것이 당신의 필요에 맞는 지 확신 할 수는 없지만, 당신이 질문을 구체적으로하지 않으면보다 구체적인 대답을 내리기가 어려울 것입니다. – jelford

답변

0

mysql이 필요하지 않다면,과 같은 nosql 메모리 최적화 된 데이터베이스를 제안합니다. 이는 mysql보다 고 가용성에 적합합니다. 그냥 생각.

채팅 응용 프로그램은 일반적으로 트랜잭션/강렬한 신뢰성이 필요하지 않습니다.

TSQL은 데이터 안정성에 중점을 둔 재무 응용 프로그램에 더 적합합니다. 채팅의 경우 속도가 중요한 데이터베이스에서 더 나을 수도 있습니다.

의견을 요청하는 것과 같아서 2 센트에 불과합니다.

이 까마귀처럼 보이는 EDIT 더 나은 ACID 트랜잭션을 지원하므로.