谷歌云上构建通用数据库1-整体规划-

我们的团队正在设计下一代后端,使用全公共云和微服务架构。

经过

在某个项目中,我们需要一个非常抽象或者说通用的数据库。
这个项目从很久以前就一直在重复“要做要做”的事情,
但同时也在推动DMP,团队内的动力也非常高。
因为采用了全公共云的方式,对于我们公司来说,设计变得相当激进。
当然,扩展性和高可用性也是必需的,
在团队内进行学习、同行评审和原型设计的过程中,
我们已经有了一定程度的设计草稿。

总体设计

export.png

大门

正在考虑使用Apigee或AmazonAPIGateway。
打算将其作为所有服务的入口点使用。
想在这里管理认证和路由。

公共汽车

希望通过将微服务连接起来,考虑未来的可扩展性。通过增加订阅者,可以享受到相同消息被广播的好处。话题是什么?

    • meta

永続化層に保存するデータ

log

DMP用に行動ログを放り込む

之前,在公司内构建类似系统时,我们使用了Apache Kafka。 我希望能包含差异进行实际操作。

数据流

创建一个作业,使其以pub/sub的订阅者的身份进行操作。

    • MetaStoreJob

Metaトピックから購読したメッセージ(meta)を永続化層(Datastore)に保存する。

LogExportJob

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

暂时先尝试使用Dataflow来进行操作,这并不是最后的决定。
也许最终会构建一个应用程序并以kubernetes集群的形式存在。

存储

将其作为持久化层使用。由于还需要记录log,所以使用BigQuery可能更好。
将元数据存储在storage中,log则存储在BigQuery中。

下一次

我希望继续推进上述的原型制作。

广告
将在 10 秒后关闭
bannerAds