경로별로 샤딩 노드 저장소를 통해 클러스터 환경에서 Jackrabbit OAK를 구성하고 사용하기에 충분한 설명서와 예제를 찾기 위해 고심하고 있습니다. 몇 가지 참조 정보가 있지만 정보가 거의없고 OAK 또는 NodeStore API가이 기능을 찾을만큼 충분히 직관적이지 않기 때문에 이것이 가능하다는 것을 알고 있습니다.Apache Jackrabbit OAK - Sharding DocumentNodeStore를 노드 경로별로 클러스터에 적용
다양한 샤딩 전략을 나열한이 PDF의 슬라이드 17을 살펴보십시오. http://events.linuxfoundation.org/sites/events/files/slides/the%20architecture%20of%20Oak.pdf
내 사용 사례 나는 여러 원격 서버 노드 및 BLOB 저장을 위해 MongoDB를 힘 입어 DocumentNodeStore를 사용하는 것과 동일한 잭 래빗 OAK 응용 프로그램을 실행하는 모든이 필요가있다. 궁극적으로 원하는 것은 전체 노드 구조에서 다른 경로로 구성된 이러한 원격 서버에서 데이터의 일부를 분할 (또는 분할)하는 것입니다.
예:
서버 (A)
가 /a/*
서버 (B)
가 /b/*
경우에 콘텐츠를 저장하기위한 책임인가에 콘텐츠를 저장하기위한 책임인가 서버 (A)가 /b/*
에서 내용을 읽거나 쓰려면 해당 경로의 노드에 액세스 할 수 있습니다. 일반 JCR 또는 OAK API를 사용하여 네트워크 세부 정보와 서버 (B) MongoDB에 대한 연결에서 사용자를 완전히 추상화해야합니다.
이 사용 사례와 관련된 확실한 설명서가 있습니까? 그렇지 않다면, 이것을 배우는 가장 좋은 방법은 무엇입니까? 하루 종일 OAK 소스 코드를 방황 할 수는 있지만 문서화가 더 선호 될 것입니다.
오크에서 클러스터링이 작동하는 방식이라고 생각하지 않습니다. 클러스터의 각 노드는 * 모든 * 문서에 액세스 할 수 있어야합니다. –
@ JulianReschke, 나는 OP가 어떻게 저장소를 뒷받침하는 mongo 설치가 sharded 될 수 있는지 이해하고 싶다고 생각합니다. Afaiu, mongo sharding은 모든 클라이언트가 모든 문서를 읽을 수 있도록 허용합니다. 한 클라이언트가 매우 먼 원격 문서의 일부 인스턴스에서 최소의 문서를 읽을 수 있다면 가장 좋습니다. 나는 그의 예에서 A가 대부분/a/*와 관련이 있어야한다는 것을 의미한다. (확실한 루트는 역시 읽혀질 필요가있다.) – catholicon