2009-06-14 3 views
0

이것은 달성하고자하는 것이지만 주제에 대해 잘 알고 있지 않아서 제발 참아주십시오 :)장애 조치 (failover)를위한 단일 액세스 지점

일부 장치 연결되어 정기적으로 일부 데이터를 업로드하십시오. 통신은 속도와 효율성을 위해 설계된 독점 프로토콜을 사용하여 일반 TCP 소켓을 통해 수행됩니다. 이러한 모든 연결은 기본적으로 장치가 연결된 채로 열려있는 세션입니다. 내가 지금 필요한 것은 (1) 디자인 페일 오버 메커니즘과 (2) 스케일 업입니다. 첫 번째 인스턴스가 실패하면 다른 서버 노드가 선택됩니다. 경량 클러스터를 만들기 위해 테라코타를 살펴 보았습니다. 하지만 내가 이해하지 못하는 것은 장치가 두 번째 노드에서 작동하는 것을 어떻게 알 수 있습니까? 나는 아마 그들에게 여러 접근 점을 시도하도록 가르 칠 수있을 것이다. 그러나 이것들 중 일부는 나의 통제에서 벗어나므로 실제로 고통이 될 것이다. 이상적으로는 클러스터의 사용 가능한 모든 노드에 자동으로 연결을 다시 리디렉션하는 중간에 마술이 필요합니다.

지금. 내가 알고 싶은 첫 번째 일은 그러한 도구가 세상에서 어떻게 불려지는지입니다. 둘째 - 간편한 상용 솔루션, 가급적이면 무료 또는 오픈 소스와 친숙한 상용 라이센스가 필요합니다. 우리는 무거운 무게의 컨테이너를 사용하지 않으며, 서버 인스턴스는 POJO의 묶음이 Spring과 연결되어 있고 모든 것이 하나의 JVM에서 실행됩니다. 이상적으로, 마술 상자를 노드 중 하나에 배치하고 모든 장치에 대해 단일 IP/포트을 노출하고 일부 구성을 수행하는 것이 좋습니다. 설정. 이것이 가능합니까 아니면 어려운 문제에 대해 저렴한 해결책을 꿈꾸고 있습니까?

답변

1

Load balancing을 찾고 있습니다. 소프트웨어 또는 하드웨어 솔루션에서 선택할 수 있습니다. 두 경우 모두 생각은 같습니다.로드 밸런서는 두 노드의 상태를 모니터링하고 연결을 살아있는 노드로 연결합니다. 예 : this link

+0

강하다. 나를 몇 초 동안 이겼다. –

+0

그래서로드 밸런싱입니다. 고마워요. 주변을 둘러 보았고 가장 많이 보는 부분은 Linux 전용 솔루션입니다. 내가 겪고있는 것은 대부분의 컴퓨터에 설치되는 플랫폼 중립적 인 소프트웨어 솔루션입니다. 어떤 제안 할 수 있니? 아니면 항상 하드웨어에 의존적입니까? – Dima

+0

나는 왜 "대부분의 컴퓨터에 설치되는 솔루션"이 필요한지 알지 못합니다. :). 내 말은, 당신은 정확히 어떤 종류의 서버를 실행하고 있는지 알고 있습니다. Windows Server는이를 해결할 수 있습니다. Linux의 경우 하나의 링크를 제공했으며 Google을 사용하면 더 많은 것을 찾을 수 있습니다. "무료"로 제어하려는 경우 직접 구현하십시오. confing을 읽는 Simple 앱은 모든 실제 앱 서버에 대한 연결을 열어 모니터링하고 http://en.wikipedia.org/wiki/Round-robin_scheduling을 사용하여 요청을 라우팅합니다. 그러나 나는 리눅스를 하나 설치하려고한다. –

1

처음에는이 질문을 serverfault.com에 게시해야한다고 생각하지만 일단 여기 질문하면로드 릿지 어플라이언스 또는 상자의 일종이라고 생각합니다.

+0

링크를 제공해 주셔서 감사합니다. 매우 유용합니다. – Dima

관련 문제