3

하나의 큰 모노리스 애플리케이션이 있으며 이제는 일부 모듈을 마이크로 서비스로 분리 할 시간이되었습니다! 나는 구글 문서 도구의 술집/서브와 microservices에 대해 많이 읽고,하지만 내 질문에 대한 답변을 찾을 수 없습니다 :마이크로 서비스로 Google App Engine 애플리케이션 실행

  1. 애플리케이션 제목 파일 내 모듈 (microservice)에 대한처럼 보이는 방법?
  2. app.yaml은 내 응용 프로그램과 어떻게 다릅니 까? (내 말은 마이크로 서비스와 함께)
  3. 이 모듈을 어디에서 선언해야합니까? 응용 프로그램 app.yaml 또는 app.yaml 모두에서이 모듈을 선언해야합니까?
  4. 내 앱과 모듈에 어떻게 단일 데이터 저장소를 사용할 수 있습니까? 일부 자격 증명 및 libs가와

    application: my-application 
    version: 1 
    runtime: python27 
    api_version: 1 
    threadsafe: true 
    

    :

내 애플리케이션 제목을 지금처럼 보인다.

답을 기다리고 있습니다!

+1

당신이 무엇을 요구하는지 모르겠습니다. App Engine * 모듈 * (현재 * 서비스 *라고 함)에는'app.yaml' 파일이 있습니다. 여러분의 * 프로젝트 *는 각각의'app.yaml'을 가진 많은 * 서비스 *를 가질 수 있습니다. 라우팅은'dispatch.yaml'을 사용하고 * 프로젝트 * 내의 모든 * 서비스 *는 동일한 Datastore를 공유합니다. 현재 사용중인 응용 프로그램의 모 놀리식이 무엇입니까? – tx802

+0

예를 들면 : 내 앱 안에 APNS 서비스가 있는데, 마이크로 서비스로 이동해야합니다. 확인하십시오 : 이벤트 happend -> 이벤트 생성 -> 주제 (pub/sub)로 보내기 -> APNS 마이크로 서비스 수신 주제 -> APNS 푸시 알림 전송 –

답변

2

모 놀리 식 앱은 실제로 하나의 모듈/서비스 (기본 모듈)가있는 앱입니다. 그러한 앱에 대한 app.yaml 설정은 실제 기본 설정 파일입니다. 설정과 같은 '앱 별'설정은 없습니다. 이 모듈은 각각의 <module>.yaml이 선으로 하나의 특정 응용 프로그램에 함께 "연결"되어 각 모듈은 자신의 <module>.yaml 설정 파일이있는 멀티 모듈 응용 프로그램에서

application: <app_identifier> 

(이름 app.yaml을 할 필요가 없습니다 , 모듈 코드가 같은 디렉토리를 공유한다면 실제로 다르다.하지만 앱 디렉토리 당 하나의 모듈을 권장하는 디렉토리 구조를 고수한다. 기본 모듈 이름/설정할 수 없습니다 수 Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?

:

이 Q (또한 몇 가지 예제를 포함) & A를 참조하십시오. 다른 모든 모듈 이름은 다음과 같이, 각각의 <module>.yaml 파일로 구성됩니다 같은 응용 프로그램 점유율

module: <module_name> 

모든 모듈은 동일한 데이터 저장소 (따라서 같은 index.html 파일).

다른 설정 파일도 앱 수준 설정이므로 모든 모듈 (또는 cron 서비스를 실행하는 기본 모듈)에서 실제로 공유하므로, 다음과 같이 권장합니다. 앱의 최상위 디렉토리 : cron.yaml, dispatch.yaml, queue.yaml

관련 문제