IT

Zookeeper의 실제 사용

lottoking 2020. 7. 12. 09:03
반응형

Zookeeper의 실제 사용


나는 최근 동물원의 사육사를 보고 있는 현재 누군가가 그것을 사용하고 그것을 그것을 그것을 그것을 사용하고 있는지 궁금했습니다.

가장 일반적인 사용 사례는 구성 정보이지만, 어떤 종류의 데이터와 얼마나 많은 데이터를 저장하고 있습니까?


DOSGi 아파치 CXF 구현 은 서비스 등록 저장소로 사육사를 사용합니다. 컨테이너에는 모든 수신 서비스 이벤트를 수신하고 분배하는 서비스가있는 서비스 상태가 변경 될 때 수신하는 분산 소프트웨어 (dsw)가 있습니다. dsw는 참조 구현 사례에서 Zookeeper를 사용하여 서비스를 임시 노드로 저장하는 감지와 통신합니다. 다른 인스턴스는 노드 구조의 변경을 찾고 로컬 시스템에서 프록시를 등록합니다. 최종 결과는 일반 OSGi로 코딩하여 투명하게 배포 할 수있는 것입니다.


HBase는 현재 버전 이전의 "헤드 노드"가 담당하는 한 활동을 조정하기 위해 Zookeeper를 사용합니다. Zookeeper 사용으로의 이동은 중앙 제어가 더 이상 단일 장애 지점이 아님을 의미합니다.

사육사는 매우 다재다능하다. 다음은이를 사용하여 분산 동시 큐를 작성하는 예입니다.

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

물론 분산 시스템에서 리소스 잠금 등을 만드는 데 사용할 수도 있습니다.


오래된 질문이지만이 페이지는 동물원 사육사 사용 사례에 대한 Google 검색에서 처음 표시 제공 된 업데이트 목록을 제공하는 것이 가장 좋습니다

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

ZooKeeper가 제공하는 무료 소프트웨어 프로젝트 :

ZooKeeper가 제공하는 Apache 프로젝트 :

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


Norbert 는 확장 가능한 존재 시스템의 좋은 예입니다. 일반적으로 Netty, 프로토콜 버퍼 및 Zookeeper를 클러스터 서비스 실행을위한 경량 프레임 워크에 통합합니다. 프로토콜 버퍼는 서비스 API를 지정하는 데 네티는 전송 계층 추상화를 구현하며 Zookeeper는 기본적으로 내결함성 서비스입니다.

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

  • 모든 서비스 인스턴스를 사용하는 "/ 서비스 이름 / 멤버"
  • 현재 사용 가능한 서비스 인스턴스를 사용하는 "/ ServiceName / available"

각 노드의 가장 중요한 속성은 해당 서비스 인스턴스에 연결하는 데 사용되는 URL입니다. 이는 클라이언트 측로드 밸런싱을 가능하게합니다. Norbert 클라이언트는 지정된 서비스 이름에 대한 URL 목록을 찾아 그 중 하나에 연결을 시도합니다 (예 : 라운드 로빈 또는 임의).


Found에 ZooKeeper에 관한 ZooKeeper -The King of Coordination 가이드 가 있습니다 .


Solr은 또한 ZooKeeper를 통합하기 위해 노력하고 있습니다. 여기에서 동적 구성, 샤딩, SPOF 제거 (마스터 / 슬레이브 선거), 재조정되는 것을 볼 수 있습니다.


  • Storm여러 회사 (Twitter와 Groupon이 더 잘 작동하며 두 회사 )에서 사용합니다.
  • Kafka 는 Linkedin에서 사용하며 Zookeeper에 의존합니다.

폭풍 은 Zookeeper를 사용하여 모든 상태를 저장 (분산 된) 구성 요소 서비스의 중단에서 복구 할 수 있습니다.

이렇게하면 구성 데이터가 필요할 때 구성 요소 서비스가 상태 비 저장 상태가되고 Zookeeper 서버와 간단히 다운로드하거나 동기화 할 수 있습니다. 얼마나 많은 일인지 알게 될 것입니다!

카프카 소비자는 Zookeeper를 사용하여 대기열에서 소비 된 항목에 대한 정보 (최고 수위 표시)를 사용하실 수 있습니다.


제 경우에는 클러스터 사용을 위해 zookeeper 앙상블에 구성 파일을 저장하고 있습니다. 우리는 리더-> 팔로어 스키마를 사용하고 있습니다. 사육사 한 명이 다운되면 다른 사육사로 전환됩니다 (복제 모드).


Zookeeper는 구성 이외의 많은 용도로 사용되었습니다. 다음은 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

반응형