gpt4 book ai didi

view - CQRS:我的 View 存储使用什么后端?

转载 作者:行者123 更新时间:2023-12-05 01:22:11 24 4
gpt4 key购买 nike

我的基于 CQRS 的架构目前有 4 个组件。它更像是一个原型(prototype),所以还没有什么是一成不变的。

  • CommandProcessor:获取命令、执行命令等(duh ^^),发布事件。基于 Azure
  • ViewProcessor:获取查看请求,用 View 来响应。订阅事件以更新 View 存储。是基于 Azure
  • WebClient:AJAX 型 Web 门户,发送命令和请求 (json-) View 。基于 Azure
  • DesktopClient:不多说了,还发送命令并请求 View (未决定是否是 json 或某些其他格式)。显然不是基于 azure 的。

我最初的方法是使用 InMemory-Viewstore。 Azure VM 有相当多的可用内存,我并没有真正看到需要添加复杂的 Blob 存储等。此外,我试图最小化命令执行延迟,以至少部分解决整个异步 UI 问题,以便我可以(在需要时)使用(快速)回调模拟同步 UI(我希望这句话有意义 ^^) .

在创建 Web 客户端时,我注意到我的计划中存在潜在缺陷。 ViewProcessor 的 url 与 WebClient-url 明显不同,因此 json 请求会因为同源策略而失败。像 jsonp 这样的替代方案/解决方法似乎没有那么有吸引力,因为它们不能解决固有的安全问题。实现 ajax 请求以 WebClient 本身为目标将是一个选项,但这样我就会有多余的功能(webclient 和 viewprocessor 中的 View 存储)。

我想将 View 保存在 blob 存储中可以解决这个问题,但我无法摆脱我忽略了一些重要/明显的事情的感觉。

    Client --command-- CommandProcessor    CommandProcessor --event-- ViewProcessor    ViewProcessor --view-- Blob    (ViewProcessor or CommandProcessor) --notification-- Client    Blob --view-- Client

这种情况会有相当多的延迟:|

最佳答案

我会再次查看 blob 存储选项。我们将序列化的 View 对象存储在 blob 存储中,它非常快速且稳定。您是否担心 Blob 存储的某些方面?

埃里克

关于view - CQRS:我的 View 存储使用什么后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9956460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com