【问题标题】:CommonDomain / EventStore with Raven persistance for multi-tenant app用于多租户应用的具有 Raven 持久性的 CommonDomain / EventStore
【发布时间】:2020-10-27 18:47:13
【问题描述】:

我应该如何在多租户应用程序中设置 EventStore 的 RavenPersistence?

我有一个 Azure 辅助角色,负责处理通过服务总线接收到的命令。 每条消息可能属于不同的租户。实际的租户是在消息头中发送的,这意味着我只有在收到每条消息后才知道使用哪个数据库。

我正在使用 CommonDomain,所以我的命令处理程序注入了 IRepository

现在我在处理每条消息的同时建立一个新的商店(我设置了 DefaultDatabase),但我感觉这可能不是最理想的方式。

  • 有没有办法创建一个单一的事件存储,然后只切换数据库?
  • 如果没有,我可以为每个租户缓存商店吗?
  • 您知道任何将 EventStore 与 RavenDB 结合使用的多租户示例吗?

【问题讨论】:

    标签: ravendb cqrs neventstore


    【解决方案1】:

    我们的做法完全相同——为每个请求生成新的 EventStore 实例。 JOliver EventStore 的设计没有考虑多租户支持。所以这是唯一的方法...

    【讨论】:

    • 您介意分享一些执行初始化的代码吗?你使用任何 DI 容器吗?如果是,您是否只需重新注册IStoreEvents
    • 我也很想听听您是如何实现这一目标的。我正处于需要将每个客户隔离到他们自己的 ES 的地方。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多