自动扩展 Axon 的跟踪事件处理器

2024-04-11

我使用 Axon 框架 4.0.3 和 Spring Boot 来进行事件溯源,并有一个跟踪处理器,该处理器配置为具有多个段/线程来同时处理事件:

axon.eventhandling.processors[my_processor].initial-segment-count = 6
axon.eventhandling.processors[my_processor].thread-count = 3

它应该有 2 个节点my_processor每个使用 3 个线程。

然而,该解决方案的问题在于它不可扩展。我必须从一开始就知道我必须有多少个节点和线程,因为以后不可能更改它:如果我增加initial-segment-count并重新启动处理器,什么也没有发生。如果我减少段计数,情况会更糟:本来用于“已删除”段的事件永远不会被处理!

理想情况下,它应该能够仅指定每个节点应使用的线程数。此后,当新节点添加到处理器时,段的数量应相应增加。同样,如果我删除节点,段的数量应该减少。 Axon 是否可以做到这一点,或者它根本就不是为了以这种方式扩展而设计的?


您的这个假设是完全正确的 - 仅调整这些字段是不可扩展的,在运行时。 这正是我们引入拆分和合并操作的原因,以便在 Axon 应用程序运行时拆分/合并片段。看this https://github.com/AxonFramework/AxonFramework/pull/969GitHub pull request 将其引入框架。

该功能将成为今天发布的 Axon 4.1 的一部分。 请注意,如果您仅使用框架,则此功能does not给你自动缩放。它将需要您的部分实施,利用提供的拆分和合并 API,使其自动化。

轴突服务器 https://axoniq.io/product-overview/axon-server另一方面,在用户界面中为您提供了一个拆分/合并按钮,从而使您无需自己构建它。 我相当肯定 Axon Server 最终也会引入自动缩放解决方案,但不会作为 4.1 版本的一部分。

希望这能给您一些阿奇的背景知识!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动扩展 Axon 的跟踪事件处理器 的相关文章

  • 【转载】DDD中的 CQRS模式

    转载自 xff1a DDD 中的那些模式 CQRS 知乎 DDD 作为一种系统分析的方法论 xff0c 最大的问题是如何在项目中实践 而在实践过程中必然会面临许多的问题 xff0c 模式 是系统架构领域中一种常见的手段 xff0c 能够帮助
  • DDD 中的有界上下文与 CQRS。共享聚合/实体。可能的?

    我找到了这个代码示例 https code google com p ddd cqrs sample 看起来非常完整且组织良好 不是一个 框架 只是一个示例项目 具有非常精细和明确的做事方式 但是 不完整 这带来了一些疑问 他们很擅长回答你
  • 重构代码以避免反模式

    我有一个 BusinessLayer 项目 其中包含以下代码 域对象是FixedBankAccount 它实现了IBankAccount 存储库被制作为域对象的公共属性 并被制作为接口成员 如何重构它以使存储库不再是接口成员 域对象 Fix
  • 在 CQRS 的写入端从数据库读取数据

    背景 Diagrams explaining CQRS usually will have clear separation of read and write paths and one way data flow like in thi
  • CQRS 事件不包含更新读取模型所需的详细信息

    关于 CQRS 我不明白一件事 当引发的事件不包含更新读取模型所需的详细信息时 如何更新读取模型 不幸的是 这是一种很常见的情况 示例 我将用户添加到组 因此我发送 addUserToGroup userId groupId 命令 该事件由
  • 与旧系统的 CQRS

    我希望将一个具有清晰域模型的相对较新的基于 Web 的应用程序转换为更多 CQRS 风格的系统 我的新应用程序本质上是对现有旧系统的增强替代 我的组织中的现有系统共享一组通用数据库 这些数据库由整个公司孤岛中存在的无数应用程序 通过混沌方法
  • CQRS(事件溯源):具有多个聚合的预测

    我有一个关于 CQRS 架构上涉及多个聚合的投影的问题 例如 假设我有两个聚合WorkItem and Developer并且以下事件按顺序发生 但不是立即发生 工作项已创建 工作项Id WorkItemTitleChanged workI
  • CQRS-最终一致性

    我有以下场景 需要按照 CQRS 模式来实现 用户登录 用户输入一些保险详细信息 用户请求应用决定 用户查看决策结果 这看起来相当简单 但是我的问题是在步骤 3 和 4 之间 在步骤 3 中我发送了一个ApplyForDecision命令将
  • 如何在 CQRS/事件溯源中以确定性方式重放?

    在基于 CQRS ES 的系统中 您将事件存储在事件存储中 这些事件涉及一个聚合 并且它们相对于它们所属的聚合有一个顺序 此外 聚合是一致性 事务边界 这意味着任何事务保证仅在每个聚合级别上给出 现在 假设我有一个读取模型 它消耗来自的事件
  • 是什么导致 EventStore 这么容易抛出 ConcurrencyException?

    Using JOliver活动商店 http github com joliver EventStore3 0 并且刚刚开始使用简单的示例 我有一个使用 NServiceBus 的简单发布 订阅 CQRS 实现 客户端在总线上发送命令 域服
  • 一笔交易中的多个聚合/存储库

    我有一个支付系统 如下所示 可以通过多张礼券进行支付 礼券随购买一起发放 客户可以使用此礼券进行日后购买 当通过礼券进行付款时 GiftCoupon 表中的UsedForPaymentID 列需要使用该PaymentID 进行更新 对于礼券
  • Mediatr - 无效/更新缓存的正确位置在哪里

    这个问题源于我问过太多接口 QCRS 和 Mediatr 库 请求 响应 的另一个问题 Mediatr 减少 DI 对象的数量 https stackoverflow com questions 53966361 mediatr reduc
  • 使用 void/Task 响应注册 MediatR 管道

    我的命令 public class Command IRequest 我的处理程序 public class CommandHandler IAsyncRequestHandler
  • 使用 MediatR 时可以让一个处理程序调用另一个处理程序吗?

    或者这被认为是不好的做法还是什么 我有一个通知触发 4 5 个处理程序 这些处理程序依次调用数据库来检索数据 每个这些调用也可以单独调用 因此它们本身就是请求 处理程序 Thanks Jimmy Bogard mediatr 的作者 说你应
  • Axon 框架:删除聚合根

    老实说 我不知道从哪里开始 存储库方面相对简单 但我似乎找不到任何有关如何通过 CommandGateway 删除聚合根的信息 任何有关如何实现这一目标的指示和 或文档将不胜感激 将其放在这里 以供其他可能像我最初一样迷失的人将来参考 使用
  • EventSourced Saga 实施

    我已经编写了一个事件源聚合 现在实现了一个事件源传奇 我注意到两者是相似的 并创建了一个事件源对象作为两者派生的基类 我在这里看过一个演示http blog jonathanoliver com cqrs sagas with event
  • 使用 CQRS 的读取端实现方法

    我已经转移到积极使用 CQRS 事件源的项目 乍一看它是按照所有这些书籍和博客来实现的 但最后我意识到实现中到底有什么问题 Here is CQRS architecture 这张照片最初是我从here http cre8ivethough
  • Axon Framework:Saga 项目,具有两个或三个微服务之间的补偿事件

    我有一个关于 Axon Saga 的问题 我有一个项目 其中有三个微服务 每个微服务都有自己的数据库 但是两个 从属 微服务必须将其数据共享给 主 微服务 为此我想使用 Axon Saga 我已经问过关于赔偿的问题 出了问题 我必须自己处理
  • 自动扩展 Axon 的跟踪事件处理器

    我使用 Axon 框架 4 0 3 和 Spring Boot 来进行事件溯源 并有一个跟踪处理器 该处理器配置为具有多个段 线程来同时处理事件 axon eventhandling processors my processor init
  • CQRS/ES 世界中的报告

    我想我理解 ES CQRS 背景下的读取模型的想法 如果不明白请纠正我 然而 我对于在 严肃 报道的背景下使用它仍然有一些疑问 假设我使用关系数据库加上一些 ORM 来整理我的读取模型 一个基本的 摘要统计读取模型 可能如下所示 class

随机推荐

  • 当行内的单元格具有类名称时,为什么 CSS 悬停在表格行上不起作用?

    我遇到了这个问题 所以任何帮助将不胜感激 我有一张有几行的桌子 行中的每个单元格都属于某个类别 我使用这些类名来给单元格着色 这是我的表中的一个示例行 tr td class summarypage odd column Theme td
  • 链轮 SASS 部分 ERB 延伸

    我注意到 使用最新的 Rails 和 sprockets 版本 3 2 1 和 2 2 0 将 erb 文件扩展名添加到 sass 部分时似乎存在问题 例如如果 somestylefilename css sass 重命名为 somesty
  • 是否可以在已经存在的对象中模拟单个方法?

    对于集成测试 我需要在 java 服务客户端中模拟特定方法 而不破坏其中的其余信息 它没有自构造函数 所以这样的解决方案是不可能的 private DBClient mockClient new DBClient alreadyExisti
  • MUI 文本字段上的省略号效果

    如何在 MUI 文本字段上添加省略号效果 他们有一个用于文本换行的多行选项 但我想要单行 像您可以做的那样换行文本
  • Xamarin:未找到绑定属性

    这个应用程序在 UWP 中运行得很好 除了在 Android 上失败的一个更基本的属性之外 我已经删除了所有内容 它看起来像这样 我的页面 xaml
  • 使用 apikey 从 Google Sheets API 获取 403 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在使用 Google Sheets 作为我的一些应用程序的简单数据后端 基本上 这些是 20 行 x 20 列 客户希望能够
  • 调整图像大小,同时保持纵横比

    大家好 我从互联网上下载了一张图像 需要将其大小调整为其大小的 1 4 同时保留其纵横比 关于如何最简单地做到这一点有什么想法吗 WebRequest requestPic WebRequest Create imageURL WebRes
  • 关于并行任务的 `srun ... >output_file` 的语义

    抱歉 这个问题需要大量的积累 但总而言之 它是关于许多并行实例的条件srun gt output file会或不会导致某些进程 任务破坏其他进程 任务产生的输出 案例 0 仅 bash 无 SLURM 假设prog 0 sh是以下玩具脚本
  • Overflow:hidden 隐藏边框但不隐藏溢出的元素

    我正在研究带有过渡的标题 但有些东西不起作用 我将 ul 设为 120px li 设为 60px 我给 li hover 一个translateY 60px 这样当您将鼠标悬停在 li 上时它就会弹出 我想隐藏溢出的内容 直到您将鼠标悬停在
  • 自定义日期选择器对话框

    目前 我正在使用经过修改的本机对话框来隐藏日期微调器 并且工作正常 但现在我想以这样的格式设置日期 当我旋转月份微调器或年份微调器时 对话框仅显示月份和年份而不是完整的日历日期 我的日期选择器对话框的自定义代码如下 Override pro
  • 如何同时按名称或标准差选择列?

    Solution 我采用了 thelatemail 提供的解决方案 因为我试图坚持使用 tidyverse 和 dplyr 我对 R 仍然很陌生 所以我正在采取一些小步骤并利用辅助库 感谢大家花时间贡献解决方案 df new lt df i
  • IE6 不解析加载的 JavaScript 文件(由 Google 托管的 Recaptcha)

    这是一个非常奇怪的问题 我尝试在其中一个网站上使用 Recaptcha 它适用于除 IE6 之外的所有测试浏览器 我参考了google的js http www google com recaptcha api challenge k the
  • 我如何知道机器上特定 Perl 安装最初提供了哪些模块?

    我如何知道机器上特定 Perl 安装最初提供了哪些模块 这是not的副本 如何判断 Perl 模块是核心还是标准安装的一部分 https stackoverflow com questions 2049735 如何判断 Perl 模块是核心
  • 在发布中部署 PDB 文件

    我有 CI 服务器设置来构建和部署我的所有环境 包括我的生产环境 据我所知 我的所有项目文件的设置和 CI 设置在我的暂存环境构建和生产环境构建之间都是相同的 但是 当我部署到生产环境时 并没有像暂存中那样与 DLL 文件并排放置 PDB
  • CSS“>”与“>”?

    In CSS a gt b是相同的 a gt b 但这两个符号中哪一个更正确呢 我看到在 Chrome 开发者工具中使用了第二个变体 两者都不是 更正确 两者同样有效 唯一的一点就是spec http www w3 org TR selec
  • 在 Ionic 2 中添加自定义图标

    我正在使用 Ionic 2 来开发我的应用程序 我想在我的应用程序中使用我的自定义图标 就像我们使用 ionic 2 图标一样标签 例如
  • 将库发布到 Maven 存储库

    我有一个稳定的开源库 http github com fernandezpablo85 scribe并想知道如何 以及是否 我可以将我的库发布到 Maven 官方存储库 以便人们可以将其包含在他们的pom xml文件并自动下载依赖项 将您的
  • sql server 查询中的明智移位日期时间检查

    我的一个项目中的 sql 查询有一个问题 实际上 我必须检查某个具有三个班次的表中的一个 DateTime 列 即 我必须根据相应班次中的 RegisteredDateTime 列获取记录 我们的轮班时间如下 轮班时间为 24 小时制 Sh
  • Python-PostgreSQL psycopg2 接口 -->executemany

    我目前正在分析维基百科转储文件 我使用 python 从中提取大量数据并将其保存到 PostgreSQL 数据库中 我总是试图让事情进展得更快 因为这个文件很大 18GB 为了与 PostgreSQL 交互 我使用 psycopg2 但该模
  • 自动扩展 Axon 的跟踪事件处理器

    我使用 Axon 框架 4 0 3 和 Spring Boot 来进行事件溯源 并有一个跟踪处理器 该处理器配置为具有多个段 线程来同时处理事件 axon eventhandling processors my processor init