2012-05-14 2 views
1

첫 번째 : 나는 하늘에서 새롭다. 좋습니다, 푸른 하늘에 MongoDb 복제본이 필요합니다. 나는 이것을 다음 웹 사이트에 사용했습니다 : http://www.mongodb.org/display/DOCS/Azure+Deploymenthttps://github.com/mongodb/mongo-azure 그게 전부 잘 작동합니다. 하지만 내 Java 응용 프로그램에서이 몽고 복제본에 액세스하려면 어떻게해야합니까? Java 응용 프로그램은 클라우드에서 실행되지 않습니다. 도움 주셔서 감사합니다.Azure에서 Java로 MongoDB에 연결

답변

1

기본적으로 MongoDB는 포트 27017에서 실행됩니다 (TCP Port Numbers 참조). 온 - 프레미스 자바 애플리케이션이 MongoDB에 연결될 수 있도록 Input Endpoint을 만들고, tcp을 프로토콜로 선택하십시오.

MongoDB

이 보안 위험이 될 수있는 인터넷에있는 모든 사람을위한 포트를 엽니 다 기억 :

David's blog에서 같은 엔드 포인트의 스크린 샷이다.

또는, 당신은 당신의 온 - 프레미스 시스템과 역할 사이의 보안 IPSEC 연결을 만들 Windows Azure Connect를 사용하는 것이 좋습니다. 당신이 할 수

+0

이 솔루션은 클라이언트 응용 프로그램이 모든 복제본 노드를 열거하여 설정 구성을 만들어야하므로 Windows Azure 부하 분산 장치를 통해 인스턴스를 열거 할 수 없으므로 복제본에는 사용할 수 없습니다. 이것은 * MongoDB의 독립형 버전에서 작동하지만 MongoDB를 소스에서 다시 빌드하고 SSL을 포함하기를 원할 것입니다 (분배 바이너리에는 포함되지 않았기 때문에). 그리고 ... 보안을 가능하게해야합니다. –

+0

다음과 같이 말한 바 있습니다. 블로그 게시물에 감사드립니다. :) –

+0

Windows Azure Connect에 대한 +1 제안 - 처음 읽은 것을 볼 수 없었습니다. –

2

몇 가지 : 당신의 replicaset 노드에

  • 실행 mongos (샤드 라우터), 그리고 전체 데이터베이스를 나타내는 하나의 파편을 만듭니다. Mongos는 각 복제본 노드에 대한 IP/포트에 대한 내부 가시성을 갖습니다. 그런 다음 외부 Java 응용 프로그램이 mongos에 직접 연결됩니다. 참고 : mongos의 사용은 10gen이 제공하는 스캐 폴딩 프로젝트의 일부가 아닙니다. 직접 추가해야합니다.
  • Java 응용 프로그램과 MongoDB 복제본 배포간에 연결하려면 Azure Connect를 설정하십시오. Azure Connect가 터널을 통해서만 ipv6 트래픽을 지원하기 때문에 --ipv6 플래그가 mongod의 명령 행에 추가해야합니다. 이 깃발이 10gen이 제공하는 스캐 폴딩에 설정되어 있고 ipv6가 기본적으로 비활성화되어있는 것은 기억이 안납니다.
관련 문제