2016-07-12 2 views
0

내 현재 설정은 Angular 프런트 엔드를 제공하는 Node.js 응용 프로그램과 Express를 사용하며 API로 사용되는 두 번째 Node.js 응용 프로그램입니다. 및 MongoDB 인스턴스. 간단히 말하면 클라이언트 측 응용 프로그램은 백엔드 응용 프로그램과 대화하고 백엔드 응용 프로그램은 MongoDB와 대화합니다.AWS의 Docker로 2 단계 평균 응용 프로그램 확장

나는이 응용 프로그램을 Dockerize하는 방법을 찾고 있었으며 링크를 사용하는 일부 예제처럼 보입니다. 그래서 내 질문은 동일한 호스트 (AWS에서 단일 EC2 인스턴스를 의미) 또는 여러 EC2 인스턴스에서만 작업을 연결합니까? 전 (前者)과 어플리케이션과 몽고 (Mongo)를 하나의 인스턴스에 컨테이너 화 한 경우, 어떻게 확장 할 수 있습니까? 두 번째 EC2 인스턴스를 위로 돌리는 것처럼 두 번째 인스턴스에 다시 컨테이너 화 된 Node 애플리케이션과 Mongo를 둘 수 있습니까? 노드 애플리케이션과 동일한 인스턴스에서 Mongo 컨테이너를 사용하는 것이 단일 실패 지점입니까? 그 결함은 어떻게 관대합니까?

그냥 내 머리를 감싸고 피사체에 대한 나의 무지를 사과하겠습니다. 감사!

답변

1

MongoDB 서버뿐만 아니라 MongoDB 서버를 별도의 컨테이너에 넣어 두어야합니다 (Docker-Compose 또는 다른 방법을 통해 연결)은 네트워킹에 불과합니다. Docker 링크를 사용하면 개인 네트워크가 만들어집니다. LAN, WAN 등 다른 네트워크와도 통신 할 수 있습니다.

예, 모두 동일한 EC2 인스턴스에 배치하면 SPOF가 생성됩니다. https://docs.docker.com/swarm/networking/

도커 떼가 부두 노동자의 네트워킹 기능과 완벽하게 호환됩니다 : 그 우려가 있다면

은 조사. 여기에는 여러 Docker 호스트에 걸쳐있는 사용자 지정 컨테이너 네트워크를 만들 수있는 다중 호스트 네트워킹 기능이 포함되어 있습니다.

또는 애플리케이션을로드 밸런스하고 AWS 호스팅 MongoDB 클러스터를 사용합니다. 귀하의 필요와 예산에 따라 가능한 많은 접근법이 있습니다.

관련 문제