
저는 며칠 동안 고가용성 솔루션을 사용해 왔고 지금까지 다음을 발견했습니다.유캅IP 장애 조치에 매우 유용합니다.
매우 간단하고 작업을 수행합니다.
나는 한 단계 더 나아가서 생각하고 있었다
.라우터동일한 IP를 공유하는 두 노드를 연결합니다.모든 패킷을 두 노드 모두에 보냅니다.(항상) 그러면 난 할 수 있어훨씬 더 큰 로드 밸런싱 달성.
이는 "마스터-백업" 대신 "마스터-마스터" 솔루션과 같습니다.
소스 IP는 분할 가능합니다.
그만큼중복 그룹, 앞서 말한 대로 두 개의 노드가 하나의 ("가상") IP를 공유한다고 가정해 보겠습니다.
둘 다 작동하는 동안 클라이언트의 소스 IP(일반 번호)를 나누고 대응 방법을 알 수 있습니다.
예를 들어 Node1은 2로 나누어진 IP를 가져오고,
Node2는 나머지를 가져옵니다.
클라이언트는 (공유 IP를 통해) TCP/IP 연결을 시작합니다.
두 노드를 연결하는 라우터는 이 요청을 두 노드 모두에 보냅니다.
클라이언트의 IP가 2로 완벽하게 나누어지면 Node1이 응답합니다.
이 시점에서 Node2는 Node1에 대해 알고 있으므로 무시합니다.
한 노드(예: Node1)에 장애가 발생하면 다른 노드(Node2)가 이를 감지합니다. 일반적으로어쨌든 UCARP처럼요!
그 시점에서 Node2는 나머지 클라이언트에 서비스를 제공하기 시작합니다.
Node1이 다시 돌아오면 Node2는 2로 나눌 수 있는 IP에서 오는 SYN 요청(TCP/IP 연결 시작의 첫 번째 단계)에 대한 응답을 중지하고 Node1이 계속 서비스를 제공하도록 합니다.
라우터의 지시에 따라 문제가 발생할 수 있습니다.: 들어오는 각 패킷을 중복 그룹의 X 노드로 보내야 합니다. 내부 네트워크 부하가 높습니다.
또 다른 가능한 문제각 노드는 실제로는 "원하지 않는" 패킷을 포함하여 많은 패킷을 받습니다.
오늘날의 라우터/네트워크 카드를 사용하면 이점에 비해 가격이 매우 저렴하다고 생각합니다.매우 높은 가용성.
그런 경우에는 말할 것도 없고내 자원을 100% 활용한다(좋은 방법으로)"대기"만 수행하는 하나 이상의 "대기" 서버를 보유하는 대신.
내 정확한 질문은 다음과 같습니다.
1) 이미 그런 해결책이 있나요? (오픈 소스, 프리웨어, Linux 기반).
2) 라우터가 그런 것을 지원할 수 있습니까? 어떤 표준을 지원해야 합니까? 이 기능과 관련하여 DS/VPS 제공업체에 무엇을 문의해야 합니까?
어쨌든 이것은 이 주제에 관한 나의 반성 중 일부입니다. 링크와 몇 마디 단어를 통해 간결한 답변을 얻으실 수 있게 되어 기쁩니다. 그 이상은 분명히 환영합니다 :)
답변1
나는 이것이 가능/타당하다고 생각하지 않습니다. 표준 접근 방식에 비해 사용이 매우 제한되어 있기 때문에 확실히 존재하지 않습니다.
내가 보는 주요 문제는 모든 IP 패킷 안팎을 추적하고 응용 프로그램에 대해 완전히 투명한 방식으로 두 컴퓨터의 IP 스택 상태를 동기화하는 것입니다. 작업을 수행하지만 응답하지 않거나 노드 2의 상태를 마술처럼 선택하는 노드 1의 애플리케이션을 어떻게 "시뮬레이트"합니까? 특별한 프로그래밍 없이 nocde 1 애플리케이션의 TCP 통신을 계속할 수는 없습니다.