谷歌云上构建通用数据库1-整体规划-
我们的团队正在设计下一代后端,使用全公共云和微服务架构。
经过
在某个项目中,我们需要一个非常抽象或者说通用的数据库。
这个项目从很久以前就一直在重复“要做要做”的事情,
但同时也在推动DMP,团队内的动力也非常高。
因为采用了全公共云的方式,对于我们公司来说,设计变得相当激进。
当然,扩展性和高可用性也是必需的,
在团队内进行学习、同行评审和原型设计的过程中,
我们已经有了一定程度的设计草稿。
总体设计
大门
正在考虑使用Apigee或AmazonAPIGateway。
打算将其作为所有服务的入口点使用。
想在这里管理认证和路由。
公共汽车
希望通过将微服务连接起来,考虑未来的可扩展性。通过增加订阅者,可以享受到相同消息被广播的好处。话题是什么?
-
- meta
永続化層に保存するデータ
log
DMP用に行動ログを放り込む
之前,在公司内构建类似系统时,我们使用了Apache Kafka。 我希望能包含差异进行实际操作。
数据流
创建一个作业,使其以pub/sub的订阅者的身份进行操作。
-
- MetaStoreJob
Metaトピックから購読したメッセージ(meta)を永続化層(Datastore)に保存する。
LogExportJob
購読したメッセージ(log)を永続化層(Datastore)に一時保存する。バッチモードで定期的にファイルにして、AzureMachineLearningに食わせる。
暂时先尝试使用Dataflow来进行操作,这并不是最后的决定。
也许最终会构建一个应用程序并以kubernetes集群的形式存在。
存储
将其作为持久化层使用。由于还需要记录log,所以使用BigQuery可能更好。
将元数据存储在storage中,log则存储在BigQuery中。
下一次
我希望继续推进上述的原型制作。