2010-03-24 5 views
14

멀티 테넌트 응용 프로그램에서 Solr을 사용할 것을 고려 중입니다. 모범 사례가 있는지 조심해야할까요?멀티 테넌트 환경의 솔

특히 하나의 질문은 입주자마다 Solr Core를 갖는 것이 합리적입니다. Solr Cores가 많은데 문제가 있습니까? 각 코어를 개별적으로 보안 할 수 있기 때문에 세입자별로 코어를 사용할 것을 고려하고 있습니다.

감사

+0

사용중인 클라이언트 플랫폼은 무엇입니까? –

+0

ElasticSearch도 고려하십시오 – Karussell

답변

0

당신은 더 이상 각 테넌트 table in a database 별도의를 사용하는 것보다 당신이 각 세입자에 대한 solr core에게 것.

데이터베이스 테이블과 같은 핵심을 생각하고 각 핵심이 문제 공간의 개체를 나타내는 방식으로 프로젝트를 구성하면 soler를보다 효과적으로 활용할 수 있습니다.

텍스트를 색인화 한 다음 빠르게 검색해야하는 경우 solr이 빛난다. 당신이 그렇게하지 않는다면 관계형 데이터베이스를 사용할 수도 있습니다.

또한 각 세입자에 대한 solr 확보에 대한 질문에서, 로그인 한 사용자가 solr 산출물에 직접 액세스 할 수 있도록 제안하지 않았 으면 좋겠습니까? 사용자는 solr 인스턴스에 직접 액세스 할 수 없어야합니다.

행운을 빈다.

3

Solr 코어는 멀티 테넌트의 경우 특히 런타임 (서버 재시작 필요 없음)에서 관리 할 수 ​​있으므로 훌륭한 아이디어입니다. Solr 코어가 여러 개있는 경우 성능에 너무 많은 문제가 발생하지 않아야하지만 한 코어의 성능이 다른 코어의 작업에 영향을 받는다는 것을 알고 있어야합니다. 아마도 같은 디스크를 공유하게 될 것입니다.

직접 API 액세스 권한을 부여하는 이유를 알 수 있습니다. 예를 들어 '사용자'가 공유 호스팅 유형 환경에서 Drupal 사이트 또는 이와 유사한 경우입니다. 가장 좋은 방법은 다양한 URL을 보호하는 것입니다 (예 : 클라이언트 코어의/solr/admin/cores,/solr/client1 및 다른 클라이언트의/solr/client2가있는 경우 관리자 및 사용자 각각 세 명의 인증이 필요합니다. 이 작업은 컨테이너 (Jetty, Tomcat 등)에서 수행되며 일반 Solr 보안 페이지 (http://wiki.apache.org/solr/SolrSecurity)를 살펴보십시오. 동일한 방법으로 각 경로에 대한 기본 액세스 로그인을 설정해야합니다.

+1

여러 개의 코어를 사용하는 것에 대해 너무 흥분하기 전에 다음을 읽어 보시기 바랍니다. http://wiki.apache.org/solr/LotsOfCores 기본적으로 많은 코어가 "중요한 시점까지 작동합니다 "라고 말합니다.하지만 10,000 코어를 사용하려는 경우 일이 잘되지 않을 수 있습니다. Solr 4.1에서는이 문제를보다 잘 처리 할 수있는 것으로 보입니다. – ProVega

0

Thaks ok .. 캐시 (inbuild)를 올바르게 사용할 수없고 요구 사항에 맞지 않습니다. 당신은 권한에 따라 적절하게 작동해야하는 쿼리 컴 포넌트를 변경할 수있는 비트를 추가합니다. 비트 연산도 사용할 수 있습니다. 필요에 따라 이것을 사용하십시오.

관련 문제