GoogleCloud에서 범용 Database 구축 1 - 그랜드 디자인 -

GYAO의 ts입니다.
우리 팀은 올 퍼블릭 클라우드에서 Microservice Architecture을 채택한 차기 백엔드를 설계 중입니다.

경위



어떤 PJ에서 꽤 추상이라고 말하는지 범용적인 데이타베이스가 필요하게 되었다.
쭉 전부터 「할까」를 반복하고 있는 안건이지만,
DMP도 동시에 추진해 나가는 것으로, 팀내의 동기 부여도 높다.
올 퍼블릭 클라우드라는 것으로, 당사에서는 꽤 공격적인 디자인이 되었다. . .
당연히 확장성이나 고가용성이 요구되는 것이지만,
팀 내에서 연루나 피어 리뷰, 프로토타이핑을 실시해 가는 가운데 어느 정도 디자인의 드래프트가 생겼다.

그랜드 디자인





게이트웨이



Apigee or AmazonAPIGateway를 검토 중입니다.
모든 서비스의 진입점으로 사용할 계획.
인증, 라우팅을 여기서 관리하고 싶다.

Bus



미래의 확장 성을 고려하여 마이크로 서비스를 연결하는 것으로
기능하고 싶다. subscriber를 늘리는 것으로 같은 메시지가 브로드캐스트되는 것은 혜택을 받을 수 있을까 생각한다.
주제는
  • meta
  • 지속성 계층에 저장할 데이터

  • log
  • DMP에 대한 행동 로그 퍼짐


  • 약속
    이전에 사내에서 유사한 시스템을 구축했을 때는 Apache kafka 을 사용했습니다.
    차이도 포함해 핸즈온 해 가고 싶다.

    Dataflow



    pub/sub 의 subscriber 로서 기능시킨다.
    다음 작업 만들기
  • MetaStoreJob
  • Meta 주제에서 구독한 메시지(meta)를 지속성 계층(Datastore)에 저장합니다.

  • LogExportJob
  • 구독된 메시지(log)를 지속성 계층(Datastore)에 임시 저장합니다. 일괄 모드에서 정기적으로 파일을 만들어 Azure MachineLearning에 먹이게 한다.


  • 우선 Dataflow에서 해보자는 것으로, 결정은 아니다.
    어쩌면 응용 프로그램을 빌드하고 kubernetes 클러스터의 형태가 될 수 있습니다.

    스토리지



    지속성 층으로 사용. log도 먹게 하므로 BigQuery가 더 좋을지도 모릅니다.
    meta는 storage, log는 BigQuery로 할까.

    다음 번



    위의 프로토 타이핑을 진행하고 싶습니다.

    좋은 웹페이지 즐겨찾기