source

사육사의 실제 사용

factcode 2022. 11. 25. 20:48
반응형

사육사의 실제 사용

최근 Zookeeper를 보고 있는데 현재 사용하고 있는 사람이 있는지, 구체적으로 어떤 용도로 사용하고 있는지 궁금했습니다.

가장 일반적인 사용 사례는 구성 정보입니다. 그러나 저장 중인 데이터의 종류와 양은 어떻게 됩니까?

ZooKeeper를 통한 무료 소프트웨어 프로젝트:

ZooKeeper를 통한 Apache 프로젝트:

출처: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy

HBase는 Zookeeper를 사용하여 현재 버전 이전부터 "헤드 노드"가 담당했던 활동을 조정합니다.Zookeeper의 사용으로 이행함에 따라 중앙 제어가 더 이상 단일 장애 지점이 아닙니다.

Zookeeper는 매우 다재다능합니다.다음 예에서는 이를 사용하여 분산된 동시 큐를 작성하는 방법을 보여 줍니다.

http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/

물론 분산 시스템에서 리소스 잠금 생성 등에도 사용할 수 있습니다.

오래된 질문입니다만, 이 페이지는 사육사의 사용 사례에 대한 구글 검색에서 처음 표시되므로 최신 목록을 제공하는 것이 가장 좋다고 생각했습니다.

  1. 위키백과
  2. 사육사 위키
  3. 실제 사용자

DOSGi의 Apache CXF 구현에서는 서비스 등록 저장소로 동물원 키퍼를 사용합니다.개별 컨테이너에는 분산 소프트웨어(DSW) 번들이 있어 모든 서비스 이벤트를 수신하고 배포를 나타내는 속성을 가진 서비스 상태가 변경될 때 이를 수신합니다.dsw는 디스커버리 번들과 통신합니다.이 번들은 참조 구현의 경우 Zookeeper를 사용하여 서비스를 ephemeral 노드로 저장합니다.다른 인스턴스는 노드 구조의 변경을 찾고 로컬 시스템에 프록시를 등록합니다.그 결과 일반 OSGi로 코드화하여 투과적인 배포를 할 수 있습니다.

Norbert는 확장 가능한 생산 시스템의 좋은 예입니다.일반적으로 Netty, Protocol Buffers 및 Zookeeper를 클러스터 서비스를 실행하기 위한 경량 프레임워크에 통합합니다.프로토콜 버퍼는 서비스 API를 지정하기 위해 사용되며 Netty는 전송 계층 추상화를 구현하며 Zookeeper는 기본적으로 폴트 톨러런스 디스커버리 서비스입니다.

서비스 인스턴스가 시작될 때마다 Norbert는 특정 서비스 유형의 사용 가능한 인스턴스로 등록합니다.구현 관점에서 보면 다음 두 가지 Zookeeper 트리가 생성됩니다.

  • 서비스의 기존 인스턴스를 모두 나열하는 "/ServiceName/members"
  • 서비스의 현재 사용 가능한 인스턴스를 나열하는 "/ServiceName/available"

각 노드의 가장 중요한 속성은 대응하는 서비스인스턴스에 접속하기 위해 사용하는 URL입니다.클라이언트 측 로드밸런싱을 유효하게 합니다.Norbert 클라이언트는 특정 서비스 이름의 URL 목록을 검색하여 이들 중 하나에 접속을 시도합니다(라운드 로빈 또는 랜덤 등).

ZooKeeper - The King of Coordination at Elastic Cloud라는 좋은 기사가 있습니다.

예를 들어 Found에서는 ZooKeeper를 검출, 자원 할당, 리더 선정 및 높은 우선순위 알림에 광범위하게 사용하고 있습니다.이 기사에서는 이 조정의 제왕을 소개하고 Found에서 ZooKeeper를 사용하는 방법을 자세히 살펴보겠습니다.

Solr는 또한 ZooKeeper를 통합하기 위해 노력하고 있다.여기서 다이내믹 설정, 샤딩, SPOF 삭제(마스터/슬레이브 선택), 재조정 등에 사용하고 있는 것을 알 수 있습니다.

  • 스톰은 많은 기업(Twitter와 Groupon이 더 잘 알려진 두 회사)에서 사용되며 Zookeeper에 의존합니다.
  • 카프카는 Linkedin에 의해 사용되며 Zookeeper에 의존합니다.

스톰은 Zookeeper를 사용하여 모든 상태를 저장하여 모든 (분산된) 컴포넌트 서비스의 정지로부터 회복할 수 있도록 합니다.

이렇게 하면 구성 요소 서비스가 상태 비저장 상태가 되고 구성 데이터가 필요할 때 Zookeeper 서버를 다운로드하거나 동기화할 수 있습니다.실제 가동 서버를 복구해야 했던 경험이 있다면 이것이 얼마나 골치 아픈 일인지 알게 될 것입니다.

Kafka 큐 사용자는 Zookeeper를 사용하여 큐에서 소비된 정보에 대한 정보(상위수점)를 저장할 수 있습니다.

제 경우 클러스터 사용을 위해 동물원 앙상블에 컨피규레이션파일을 저장하고 있습니다.리더 -> 팔로워 스키마를 사용하고 있습니다.따라서 한 사육사가 다운되면 다른 사육사로 전환됩니다(복제 모드).

사육사는 설정 이외의 많은 용도로 사용되었습니다.다음은 사육사를 사용한 구현 분산 프리미티브의 공식 목록입니다.

https://zookeeper.apache.org/doc/current/recipes.html

Neo4j는 Zookeeper의 고가용성 엔터프라이즈 서버를 사용합니다!http://docs.neo4j.org/chunked/milestone/ha.html

datomic은 apache zookeeper를 사용하여 riak 기반 데이터 스토리지를 관리합니다.

Riak는 현재 최종적인 일관성만 지원하므로 Riak에서 실행되는 Datomic 시스템은 가용성이 높은 조정 서비스인 Apache ZooKeeper도 사용합니다.Datomic은 트랜잭션 페일오버 조정 및 CAS에서 갱신해야 하는 데이터베이스별 소수의 키에 ZooKeeper를 사용합니다.출처:http://blog.datomic.com/2012/11/riak-and-couchbase-support.html

HBase가 ZooKeeper를 사용하는 방법에 대한 자세한 내용은 향후 어떻게 사용할 것인지에 대한 정보를 포함하여 다음과 같습니다.일반적으로 ZooKeeper를 사용하여 구현된 리더 선출을 통해 지역 서버에서 SPOF를 제거하기 위해 사용합니다.

언급URL : https://stackoverflow.com/questions/1479442/real-world-use-of-zookeeper

반응형