【问题标题】:Can I use a different db as a Wolkenkit read model?我可以使用不同的数据库作为 Wolkenkit 读取模型吗?
【发布时间】:2018-09-12 02:08:51
【问题描述】:

我喜欢 MongoDB 好,但我正在考虑只使用 postgres 作为读取模型并使用 graphQL 从它进行查询。我是否必须编写一个适配器才能做到这一点?如果是这样,我应该从哪里开始?

【问题讨论】:

    标签: domain-driven-design graphql cqrs event-sourcing wolkenkit


    【解决方案1】:

    一如既往,这取决于?

    简短回答:不,你不能。

    长答案:是的,理论上可以更改读取模型数据库,因为wolkenkit 使用基于适配器的方法。目前 MongoDB 是唯一实现的,但可以为您想要使用的任何数据存储编写一个。

    基本上,从wolkenkit-broker 开始,它是 wolkenkit 的公共 API 服务器,它也处理读取模型。其中心是所谓的modelStore,它充当特定实现之上的抽象层,例如modelStoreMongoDb 适配器。

    GraphQL 目前不支持开箱即用。我们使用自己的方法,在tailwind 模块中实现。从这里开始是HTTP server API。

    请注意,我是 wolkenkit 的开发者之一,所以请对我的回答持保留态度。

    【讨论】:

    • 我认为适配器方法不适用于关系数据库,因为需要 ORM。人们希望在 wolkenkit 之外进行建模并且只公开投影功能可能是一种常见的情况。如果人们想走这条路,我们能否提供一个文件夹结构 server/projections 而不是 server/readModel
    • 这应该可以通过使用(无状态)流来实现,因为读取模型基本上只是具有内置持久性的无状态流。我在这里错过了什么吗?
    猜你喜欢
    • 2010-10-05
    • 2023-03-13
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多