2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoogleCloudで汎用Database構築1 - グランドデザイン -

Last updated at Posted at 2016-10-28

GYAOのtsです。
我々のチームは、オールパブリッククラウドで、Microservice Architectureを採用した次期バックエンドを設計中です。

経緯

とあるPJでかなり抽象的なと言うか汎用的なデータベースが必要となった。
ずっと前から「やるやら」を繰り返している案件だが、
DMPも同時に推進していくということで、チーム内のモチベーションも高い。
オールパブリッククラウドということで、弊社にしてはかなりアグレッシブなデザインになった。。。
当然拡張性や高可用性が求められるわけだが、
チーム内で研鑽やピアレビュー、プロトタイピングを行っていく中である程度デザインのドラフトができた。

グランドデザイン

export.png

Gateway

Apigee or AmazonAPIGatewayを検討中。
すべてのサービスのエントリポイントとして使用する予定。
認証、ルーティングをここで管理したい。

Bus

今後の拡張性も考慮して、マイクロサービス同士をつなぐものとして
機能させたい。subscriberを増やすことで同じメッセージがブロードキャストされるのは恩恵が受けられるかと思う。
トピックは

  • meta
    • 永続化層に保存するデータ
  • log
    • DMP用に行動ログを放り込む

の予定
以前、社内で同じようなシステムを構築した際は、Apache kafkaを使用しました。
違いも含めてハンズオンしていきたい。

Dataflow

pub/sub のsubscriberとして機能させる。
以下のjobを作成

  • MetaStoreJob
    • Metaトピックから購読したメッセージ(meta)を永続化層(Datastore)に保存する。
  • LogExportJob
    • 購読したメッセージ(log)を永続化層(Datastore)に一時保存する。バッチモードで定期的にファイルにして、AzureMachineLearningに食わせる。

とりあえずDataflowでやってみようということで、決定ではない。
もしかしたらアプリケーションを構築してkubernetesクラスタという形になるかもしれません。

Storage

永続化層として使用。logも食わせるので、BigQueryの方がいいかもしれません。
metaはstorage、logはBigQueryにするとかかな。

次回

上記のプロトタイピングを進めていきたいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?