Puppet 및 Chef와 같이보다 확립 된 구성 관리 (CM) 시스템은 풀 기반 접근 방식을 사용합니다. 클라이언트는 중앙 마스터를 정기적으로 폴링하여 업데이트합니다. 이들 중 일부는 마스터리스 방식 (푸시 기반)도 제공하지만 '생산 용이 아님'(Saltstack) 또는 '확장 불가능한'(Puppet)이라고 언급합니다. 내가 아는 유일한 시스템은 처음부터 푸시 기반입니다.
풀 기반 시스템의 특정 확장 성 이점은 무엇입니까? 푸시 에이전트보다 풀 마스터를 더 추가하는 것이 왜 더 쉬운가?
예를 들어 agiletesting.blogspot.nl 은 다음 과 같이 씁니다.
'풀'시스템에서 클라이언트는 서로 독립적으로 서버에 접속하므로 시스템은 '푸시'시스템보다 확장 성이 뛰어납니다.
반면 Rackspace 는 푸시 기반 모델로 15K 시스템 을 처리 할 수 있음을 보여줍니다 .
infastructures.org의 글을 참고하세요 :
우리는 SUP, CVSup, rsync 서버 또는 cfengine과 같은 도구를 사용하여 인프라를 유지 관리하는 풀 방법론을 맹세합니다. 각 개별 클라이언트 시스템은 변경 사항을 클라이언트에 푸시하지 않고 부팅 할 때마다 골드 서버를 폴링하고 주기적으로 자체 개정 레벨을 유지해야합니다. 이 관점을 채택하기 전에 ssh, rsh, rcp 및 rdist를 기반으로 광범위한 푸시 기반 스크립트를 개발했습니다. r- 명령 (또는 ssh)에서 발견 한 문제는 다음과 같습니다. r- 명령 기반 스크립트를 실행하여 대상 시스템에 변경 사항을 적용 할 때 대상 호스트가 30 개를 초과하면 그 중 하나가 주어진 시간에 쓰러지십시오. 커미셔닝 된 시스템 목록을 유지 관리하는 것은 악몽이됩니다. 이 문제를 해결하기 위해 코드를 작성하는 과정에서 정교한 래퍼 코드가 생겨 다음을 처리하게됩니다. 죽은 호스트의 시간 초과; 죽은 호스트 로깅 및 재시도; 합리적인 시간에 많은 호스트를 공격하기 위해 병렬 작업을 forking 및 실행; 마지막으로 모든 아웃 바운드 rsh 세션과 함께 소스 시스템에서 사용 가능한 모든 TCP 소켓을 사용하는 경우를 감지하고 방지합니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 합리적인 시간에 많은 호스트를 공격하기 위해 병렬 작업을 forking 및 실행; 마지막으로 모든 아웃 바운드 rsh 세션과 함께 소스 시스템에서 사용 가능한 모든 TCP 소켓을 사용하는 경우를 감지하고 방지합니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 합리적인 시간에 많은 호스트를 공격하기 위해 병렬 작업을 포크하고 실행 마지막으로 모든 아웃 바운드 rsh 세션과 함께 소스 시스템에서 사용 가능한 모든 TCP 소켓을 사용하는 경우를 감지하고 방지합니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 마지막으로 모든 아웃 바운드 rsh 세션과 함께 소스 시스템에서 사용 가능한 모든 TCP 소켓을 사용하는 경우를 감지하고 방지합니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 마지막으로 모든 아웃 바운드 rsh 세션과 함께 소스 시스템에서 사용 가능한 모든 TCP 소켓을 사용하는 경우를 감지하고 방지합니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 그러면 앞으로 모든 새 호스트의 설치 이미지에서 방금 수행 한 모든 작업을 설치하고 죽어 내일 다시 빌드해야하는 호스트에 대해 반복하는 문제가 있습니다. r 명령 기반 복제를 구현하는 데 어려움을 겪은 후에는 가치가 없다는 것을 알았습니다. 우리는 r- 명령을 사용하여 인프라를 관리하거나 그 문제에 대한 다른 푸시 메커니즘을 사용하지 않을 계획입니다. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 또는 그 문제에 대한 다른 푸시 메커니즘과 함께. 풀 기반 방법뿐만 아니라 확장되지 않습니다. 또는 그 문제에 대한 다른 푸시 메커니즘과 함께. 풀 기반 방법뿐만 아니라 확장되지 않습니다.
아키텍처 문제가 아닌 구현 문제가 아닙니까? 스레드 풀 서버보다 스레드 푸시 클라이언트를 작성하기 어려운 이유는 무엇입니까?
ansible-pull
.