首页 文章
  • 2 votes
     answers
     views

    CQRS - 读取端的事件重放

    我已经阅读了几个关于CQRS的博客,并且所有这些博客都解释说,在写入端事件持久存储在事件存储中,并且在请求时,事件被检索并在聚合上重放 . 我的问题是为什么读取端不需要在聚合上重放事件?
  • 11 votes
     answers
     views

    使用akka-persistence的CQRS Event Sourcing实现

    我想使用akka-persistence事件采购功能,以便在我的新项目中实现CRQS事件采购理念 . 问题是,除了文档(http://doc.akka.io/docs/akka/snapshot/scala/persistence.html),我找不到任何好的示例或指南如何处理它 . 该文档在解释体系结构的所有构建块(如处理器,视图,通道)方面非常出色,但没有解释如何将它们组合在一起 . 所以问题...
  • 0 votes
     answers
     views

    如何让akka事件采购(akka-persistence)使用并行日志演员

    我正在测试事件采购(akka-persistence)并编写了我自己的Journal插件 . 但是在运行性能测试时,我很快注意到并非所有CPU资源都被使用 . 将消息写入日志的类是一个actor(例如,以串行方式执行所有写操作) . 是否可以使用此日志actor的多个实例来提高日志后端的写入性能?如果有,怎么样? 谢谢
  • 3 votes
     answers
     views

    在使用Akka进行事件采购时如何处理CQRS中的Q?

    与Event Sourcing结合使用时,有没有一种很好的方法来进行CQRS? 我想到的一种方法是在Command处理程序(持久化Actor)中执行此操作,只要将Command转换为事件并持久保存到事件日志(这些事件代表Write模型),我就会使用事件总线到感兴趣的订阅查询actor,以便他们可以更新他们的Query模型 . 我想的另一种方式(如果期刊支持它)是使用持久性查询(通过Akka Str...
  • 8 votes
     answers
     views

    Akka Persistence Query事件流和CQRS

    我正在尝试在ES-CQRS架构中实现读取端 . 假设我有一个像这样的持久性演员: object UserWrite { sealed trait UserEvent sealed trait State case object Uninitialized extends State case class User(username: String, password: Strin...
  • 57 votes
     answers
     views

    CQRS事件采购:验证UserName唯一性

    我们来看一个简单的“帐户注册”示例,这里是流程: 用户访问网站 单击"Register"按钮并填写表格,单击"Save"按钮 MVC控制器:通过从ReadModel读取来验证UserName的唯一性 RegisterCommand: Validate UserName uniqueness again (here is the questio...
  • 1 votes
     answers
     views

    事件采购 - Apache Kafka Kafka Streams - 如何确保原子性/交易性

    我使用Apache Kafka Streams评估事件采购,以了解复杂场景的可行性 . 与关系数据库一样,我遇到过一些案例,原子性/事务性是必不可少的: 购物应用程序有两个服务: OrderService :有一个带有订单的Kafka Streams商店(OrdersStore) ProductService :有一个Kafka Streams商店(ProductStockStore),其...
  • 4 votes
     answers
     views

    Jonathan Oliver的EventStore是否积极发展? [关闭]

    我正在开始一个将在Windows Azure上托管的新项目 . 我使用RavenDb作为后端,我想使用CQRS和事件采购 . 我阅读了Jonathan的EventStore的好评,它完全适合我的架构,因为它是一个薄层,可以使用RavenDb作为商店 . 现在,我注意到3.0版本(最新的官方版)已经有一年了,新的3.1还没有发布(分支中有一些活动) . 我想推荐3.1版本,因为它集成了CommonD...
  • 2 votes
     answers
     views

    EventStore:学习如何使用

    我正在尝试学习EventStore,我喜欢这个概念但是当我尝试在实践中应用时,我会陷入同样的困境 . 我们来看看代码: foreach (var k in stream.CommittedEvents) { //handling events } 两个问题: 当应用程序在某些维护后启动时,我们如何以安全的方式书签哪些事件开始读取?有使用的模式吗? 一旦事件全部被消耗,循环结束.....
  • 3 votes
     answers
     views

    了解AKKA持久性以及ES和CQRS原则

    我最近观看了几个关于ES和CQRS模型的视频以及我几乎没有关于AKKA持久性的讨论 . 我知道它们是什么,但我在编写将要执行的实际代码时遇到问题 . 我有几个问题 . 我应该如何进行视图和事件堆栈通信?是否会在视图和相同持久性ID的持久actor之间传递事件?什么是持久的演员和视图负责根据模型? 编辑:我应该在哪里放置我的业务逻辑?根据模型我应该写在写,但如果我需要检查读取的东西,以验证cmd怎么...
  • 1 votes
     answers
     views

    在Akka中PersistentView的典型用例是什么?

    这里http://doc.akka.io/docs/akka/current/scala/persistence.html写道: PersistentView:视图是一个持久的有状态actor,它接收由另一个持久化actor编写的记录消息 . 视图本身不会记录新消息,而是仅从持久性actor的复制消息流更新内部状态 . PersistentView的典型用例是什么? 它与Akka Stream...
  • 7 votes
     answers
     views

    CQRS存储库/事件发布者

    我正在使用CqrsLite进行CQRS式项目 . 具体Repository实现的Save方法如此(省略了不相关的行) . public void Save<T>(T aggregate, int? expectedVersion = null) where T : AggregateRoot { if (expectedVersion != null &...
  • 0 votes
     answers
     views

    Akka Persistence:ReadJournal.runFold永远不会返回

    我是第一次尝试Akka,更具体地说是Akka Persistence . 我最终试图实现一个小玩具程序来复制Akka在事件源应用程序中的使用 . 我已经取得了成功,直到我尝试使用 ReadJournal 将我的事件流投射到我的域中 . def main(args: Array[String]): Unit = { val commands: EmployeeCommandStream = ...
  • 4 votes
     answers
     views

    CQRS中写入侧DDD中的时间序列/时间数据

    我无法理解如何支持DDD中的时间序列/时间数据以及如何使用CQRS在写入端处理它 . 最终,我想找到一个与事件采购相关的解决方案 . 以温度预报为例,温度变化也会影响区域/位置的预测能量需求 . 假设温度预测可以进入未来(基于历史数据),将所有预测加载到 Location 聚合中我认为如果不对加载的数据量施加一些限制将是不切实际的 . What is a good/recommended appr...
  • 7 votes
     answers
     views

    处理CQRS读取端的无序事件

    我已经阅读了Jonathan Oliver关于处理无序事件的好帖子 . http://blog.jonathanoliver.com/cqrs-out-of-sequence-messages-and-read-models/ 我们使用的解决方案是将消息出列并将其置于“保持表”中,直到收到具有先前序列的所有消息 . 当收到所有先前的消息后,我们将所有消息从保留表中取出,并通过适当的处理程序依次运...
  • 13 votes
     answers
     views

    为什么事件存储应该在写入端?

    事件采购作为许多事情的奖励,例如:事件历史/审计跟踪,完整和一致的视图重新生成等 . 听起来很棒 . 我是粉丝 . 但这些是读取端实现细节,您可以通过将事件存储完全移动到读取端作为另一个订阅者来完成相同的操作..那么为什么不呢? 这里有一些想法: views / denormalizers本身并不关心事件存储 . 他们只处理域中的事件 . 将事件存储移动到读取端仍然为您提供事件历史记录/审...
  • 17 votes
     answers
     views

    使用CQRS读取侧实现方法

    我已经转移到积极使用CQRS事件采购的项目 . 从第一眼就看出它是按照所有这些书籍和博客实现的,但最后我意识到实施中究竟是什么样的暴躁 . 这是CQRS架构: 最初我从here拍了这张照片 . 正如我们在图片中看到的那样,读取端从队列接收事件并将其逐个传递到不同的投影集(非规范化器)中,然后通过AddOrUpdate方法将结果的ViewModel保存到DB中 . 因此我从图片中了解到,denorm...
  • 151 votes
     answers
     views

    使用Kafka作为(CQRS)Eventstore . 好主意?

    虽然我之前遇到过Kafka,但我最近才意识到Kafka可能会被用作(CQRS,eventstore)的基础 . Kafka支持的要点之一: 事件捕获/存储,当然都是HA . 发布/订阅架构 能够重放事件日志,允许新订户在事后注册系统 . 诚然,我不是100%精通CQRS /事件采购,但这看起来非常接近eventstore应该是什么 . 有趣的是:我真的找不到关于Kafka被用作事件...
  • 2 votes
     answers
     views

    在CQRS ES系统中存储和更新读取模型

    Background 我有一个使用CQRS ES的系统,在这个系统中有一些聚合,例如博客文章或事件存储中存在的问题,并将事件发送到查询端以通过投影保持读取模型 . In the case of a an issue or post being created it is a fairly straight forward 客户端创建一个命令来创建新问题 命令处理程序创建新的问题聚合并将更改...
  • 0 votes
     answers
     views

    CQRS /事件采购 - 瞬态事件

    在开发我的应用程序期间,我发现我需要发出一些实际上不会修改聚合状态的事件,但是为了更新读取模型(瞬态事件?)需要它们 . 例如如果在我的代码(域模型)中,我在层中保持数字层次结构的状态,如: 1 4 7 5 8 3 9 并且读取模型正在进行事件的投影,例如(从左到右的顶部数字): 1 5 3 然后,当我在聚合根 RemovedNumber(1) 中触发事件时,...
  • 1 votes
     answers
     views

    CQRS实施细节

    我正在使用CQRS和Event-Sourcing实施微服务 . 我已经看到了CQRS的不同实现,这些实现非常复杂 . 我已经理解和实现的是我已经为Read(Query)和Write(Command)创建了两个模型,read模型有一个物化视图,而write模型使用了Database,现在每当发生更新时,write模型都会更新数据库并生成一个事件,并将详细信息记录到读取模型已订阅的事件存储中,并且读取...
  • 9 votes
     answers
     views

    使用akka-persistance进行事件采购:将状态增长为列表?

    我正在使用Akka Scala设计使用CQRS事件采购的后端 . 我不确定如何应对不断增长的状态 . 例如,我将有越来越多的用户 . 据我了解,每个用户都将在UserCreated事件之后创建,这些事件将由PersistentActor重播,用户将存储在一个集合中 . 就像是: class UsersActor extends PersistentActor { override def...
  • 2 votes
     answers
     views

    akka-persistence(cqrs?)的事件来源和副作用

    我试图弄清楚如何使用持久性actor来模拟远程“IoT”设备的状态,例如: 用户想打开灯,这样我们才能做到最合乎逻辑 . 用户发送 OnCommand 持久化actor接收命令,生成 LightTurnedOnEvent 并将其状态更新为 on 所以这是有道理的,但这里的问题是灯光实际上从未打开过 . 好的,那么我们 Build 一个知道低级硬件控制伏都教的 LightControlA...
  • 9 votes
     answers
     views

    来自外部系统的事件采购命令或事件?

    在大多数情况下,我理解命令与CQRS ES系统中的事件之间的区别 . 但是,有一种情况我无法弄清楚 . 假设我正在构建个人财务跟踪系统,用户可以在其中输入借方/贷方 . 显然这些是命令,一旦验证它们,域模型就会更新并发布一个事件 . 但是,假设信用/借记信息也直接来自外部系统,例如用户的花店发送一条消息,说明他已经向用户的信用卡收取了他的定期母亲节交付费用 . 在这种情况下,消息似乎是一个事件(已...
  • 0 votes
     answers
     views

    事件采购:在更新模型之前或之后编写事件

    我推理事件采购,我常常遇到鸡蛋和鸡蛋问题 . 非常感谢有关如何推理这一点的一些提示 . 如果我执行所有I / O绑定处理异步(即写入事件日志),那么如何处理或有时甚至检测到故障? 我正在使用Akka Actors,因此每个事件/消息的处理都是顺序的 . 我目前没有任何数据库,而是将所有事件保存在事件日志中,然后保持存储在内存中的模型中所有事件的聚合状态 . 查询都是针对此模型的,您可以将其视为缓存...
  • 0 votes
     answers
     views

    在Akka Persistence中发生事件时生成命令

    我正在实现一个处理大量原始和派生数据点的EventSourcing应用程序 . 简而言之,我们有一个 PersistentActor 作为聚合根接受命令: UpdateValue(name, value, timestamp) UpdateValue(name, value, timestamp) UpdateValue(name, value, timestamp) 验证这些命令后,它们会生成...
  • 0 votes
     answers
     views

    是否有可能在所有演员上重播Akka Persistence Journal?

    我有一个Akka Persistence Journal和几个数据库,为日志中保存的数据提供不同的视图 . 大多数视图包括多个实体( - >多个持久性参与者) . 我知道我可以触发一个actor的恢复,这将重建仅由该实体组成的视图,但是如果我想重建所有视图,我将如何解决这个问题? 我可以启动所有现有的演员(我需要知道所有这些演员)以触发整个系统的恢复,但是有没有办法将日志赋予演员系统并基本上...
  • 2 votes
     answers
     views

    如何以及在何处处理AkkaPersistence持久化事件以使信息对响应式UI有 Value 且有意义?

    我非常熟悉 PersistentActor 和 PersistentView 在实现 Akka Persistence 时如何工作 . 根据我的理解,请考虑以下示例 . Scala案例类 Contact . case class Contact(id: String, version: Int, fName: String, lName: String, age: Int) 期刊中的Persi...
  • 1 votes
     answers
     views

    微服务方法中的API与事件

    就不同类型的请求而言Smart endpoints and dumb pipes怎么样? 在阅读之后我认为它足以订阅一些事件并处理它 . 但是现在我意识到有时你应该打开API(可能不是针对最终客户,而是针对API网关等) . 这个可以吗?或者你应该“解决”(转化为事件)任何进入微服务 Cloud 的请求? 因此,例如,您有发票和订单服务 . 很明显,在创建订单时,您可能会使用Invoice服务可能...
  • 2 votes
     answers
     views

    如何将SQL Server 2008 R2用作ActiveMQ 5.9的持久存储

    我的IT基础架构需要基于SQL Server 2008 R2数据库的持久性 . 我正在尝试在Windows上为ActiveMQ 5.9配置SQL Server持久性,但无论是否具有日志记录都无法找出正确的配置架构 . 默认配置使用kahadb,它可以工作: <persistenceAdapter> <kahaDB directory="${activemq.da...

热门问题