keepalive와 heartbeat의 차이점은 무엇입니까?


20

고 가용성 서버 클러스터를 구성하고 싶습니다. 이제 keepalive와 heartbeat, 둘의 차이점과 선택 방법에 대해 자세히 알고 싶습니다.

답변:


26

HAProxy의 저자 인 Willy Tarreau는 http://www.formilux.org/archives/haproxy/1003/3259.html 에서이 질문에 매우 정확하게 대답했습니다 .

위 링크에서 인용

하트 비트는 중복 haproxy 설정을 얻는 데 가장 적합한 도구가 아니며 클러스터를 구축하도록 설계되었습니다. 이는 두 개의 중복 상태 비 저장 네트워크 장비를 갖는 것과는 다릅니다. keepalived 또는 ucarp와 같은 네트워크 지향 도구가 해당 작업에 가장 적합합니다.

그 두 가족의 차이점은 간단합니다

  1. 하트 비트 와 같은 클러스터 지향 제품 은 공유 리소스가 최대 한 곳에 존재하도록합니다 . 이것은 공유 파일 시스템, 디스크 등에 매우 중요합니다. 스위치 오버 중에 한 노드에서 다른 노드로 서비스를 중단하도록 설계되었습니다. 이렇게하면 공유 리소스에 동시에 액세스 할 수 없습니다. 이것은 달성하기가 매우 어려운 작업이며 잘 수행됩니다.
  2. keepalived 와 같은 네트워크 지향 제품 은 공유 IP 주소가 최소한 한 곳에 존재할 것 입니다. 더 이상 서비스 나 리소스에 대해 이야기하는 것이 아니라 IP 주소로만 재생됩니다. 서비스를 중단하거나 가동하려고 시도하지 않으며 서비스를 제공하는 데 가장 적합한 노드를 결정하기 위해 특정 수의 기준을 고려합니다. 그러나 서비스는 이미 두 노드 모두에 있어야합니다. 따라서 중복 라우터, 방화벽 및 프록시에는 매우 적합하지만 디스크 어레이나 파일 시스템에는 전혀 적합하지 않습니다.

(예, 나는 그것이 오래된 질문이라는 것을 알고 있지만 나중에 참조 할 수 있습니다)


실제로 미래의 참조. 하트 비트는 설정과 작업에 어려움이 있었고, keepalived가 훨씬 간단하고 MySQL Master Master Single Write 설정을 사용하면 예상대로 작동한다는 것을 알았습니다.
Mike Purcell

3

명확하고 일관된 차별화가 없습니다. 이 단어들은 때때로 다소 상호 교환 적으로 사용됩니다.

Keepalived 라는 고 가용성 설정에 대한 공통 사용자 영역 데몬이 있으며 Linux HA 프로젝트에는 Heartbeat라는 데몬이 있었으며 현재 Pacemaker로 변경되었습니다 . (나는 당신이 그 두 시스템에 대한 완전한 개요를 요구하지 않았으며 모든 차이점이 무엇인지, IMHO가 주제가 아닌 것임을 믿습니다.)

용어를 매일 사용 하면 가장 일반적인 용도는 다음과 같습니다.

  • "Keepalive"는보다 일반적으로 서비스의 가용성을 높이는 시스템을 말합니다.

  • "하트 비트"는보다 구체적으로 고 가용성 설정의 구성원에게 정기적으로 "예, 여전히 살아 있습니다!"를 보내는 통신 프로토콜을 나타냅니다. 메시지. 그런 다음 일정 시간 전에 "예, 살아 있습니다"라는 메시지가 표시되지 않으면 동료가 조치를 취합니다 (예 : 다른 호스트가 다운 됨). 이것은 맥박과 같은 느낌이므로 이름입니다.


@vange answer를 참조하십시오. 나에게는 꽤 분명해 보인다. 서비스마다 이름이 다르고 디자인 목표와 사용 사례가 다릅니다.
nelaaro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.