2012-07-08 7 views
0

단일 웹 역할을 사용하여 Windows Azure 내에서 실행하려는 웹 사이트를 개발 중입니다. 사이트는 Windows 서비스로 실행해야하는 Sphinx 검색 엔진을 사용합니다. 그래서, 내 질문은 ... 스핑크스 검색 Windows 서비스를 웹 역할 내에 설치할 수 있습니까?Windows Azure 및 타사 Windows 서비스

Azure에 대한 초기 연구에서 웹 역할이 IIS를 실행하는 VM이기 때문에 "예"라고 생각합니다. 따라서 원격으로 서비스를 설치할 수 있어야하며 작동해야합니다. :)

소리가 맞나요?

답변

0

답변을 읽고 조금 더 생각한 후에 서비스를 설치하는 것이 가장 효과적 일 것이라고 생각합니다. 나는 Lucene.NET (이것은 Sphinx에서 동일 할 수있다)을위한 API를 살펴 봤으며 코드 내에서 인덱스 등의 작성/관리를 캡슐화 할 수 있으므로 서비스가 필요하지 않습니다.

Azure의 경우 로컬 및 Azure 저장 장치를 모두 사용하여 색인 파일을 관리하기위한 라이브러리가 있습니다. 내가 읽은 시나리오는 HTTP 요청을 처리하고 검색을 수행 할 웹 역할과 대기열을 통해 DB 변경 내용을 수락하고 인덱스에 쓰는 작업자 역할을 가질 수 있음을 보여줍니다.

+0

WCF 서비스 에서처럼 Windows 서비스 또는 서비스를 의미합니까? WCF 서비스 인 경우 웹 역할을 통해 IIS에서 호스팅 할 수 있습니다. 스핑크스에 대해 모르지만 WCF 서비스로 Lucene.NET을 호스트 할 수 있다고 확신합니다. 그리고 저는 당신이 그것을 Worker Role로 호스트 할 수 있다고 확신합니다. 여러 사이트로 수평 확장하면 검색 엔진이 동기화해야합니다. – Paparazzi

0

엄밀히 말하면 일 수 있습니다. 그러나 이는 하나의 VM 인스턴스에서 실행 중이며 인스턴스를 다시 시작할 필요가 없다는 가정을합니다.

일반적으로 Windows 서비스로 존재할 수있는 기능에 대해서는 Azure 작업자 역할을 고려해야합니다.

+0

Windows 서비스가 Azure에서 설치해야하는 타사 서비스이므로 Unforunately 이것은 불가능합니다. 어떤 종류의 설치 스크립트를 웹 역할에 추가 할 수 있기를 기대하고 있으므로 역할이 다른 VM으로 이동 된 경우 스크립트는 Windows 서비스를 설치합니다. – MotoSV

+0

VM을 옮기거나 다시 시작하면 곧바로 현재 인덱스/카탈로그가 풀릴 수 있으며 컨텐츠를 다시 인덱싱해야 할 것이라고 생각합니다. Azure 스토리지를 사용해 볼 수도 있지만, Azure 고유의 Sphinx 구현이 필요합니다. – Digbyswift

+0

당신의 말을 봅니다. 따라서 웹 역할이있는 로컬 파일 저장소 (푸른 저장소가 아님)에 아무 것도 쓰면 새 VM으로 데이터를 복제 할 수 없습니다. – MotoSV

1

RDP를 통해 소프트웨어를 설치하는 것은 Web/Worker 역할 인스턴스에서 실행 가능한 솔루션이 아닙니다. 이러한 변경 사항은 유지되지 않으므로. 시작 스크립트 또는 OnStart()에서 설치해야합니다. 서비스로 설치하려는 경우 시작 스크립트가 필요합니다. 높은 권한이 필요하기 때문입니다. 참고 : 설치 관리자는 무인 모드를 지원해야하며, 여기서 모든 매개 변수는 사람이 개입하지 않고 명령 줄을 통해 지정됩니다.

확장 성은 어떻습니까? 웹 역할 인스턴스가 두 개 이상인 경우 두 인스턴스에서 스핑크스를 실행할 수 있습니까? 필자가 읽은 것부터는 ODBC 호환 데이터베이스를 지원하므로 Windows Azure SQL 데이터베이스에 대해 사용할 수 있습니다. 그렇다면 동일한 데이터 저장소에 액세스하는 두 대의 다른 머신에서 두 개의 스핑크스 엔진을 실행할 수 있습니까? 그렇다면 이것은 실행 가능한 솔루션처럼 들립니다.

설치가 자동화 될 수 없거나 MySQL과 같은 추가 기능이 필요한 경우, 2012 년 6 월에 출시 된 가상 머신에 스핑크스 검색 엔진을 설치하는 것이 좋습니다. 이제 Windows 2008 Server, RDP를 구성하고 원하는 방식으로 구성 할 수 있습니다.

관련 문제