离线同步和事件源

2024-02-20

我们的应用程序中基于 CRUD 的部分需要:

  1. 离线双向“双向”同步
  2. 能够修改数据直到准备好然后“发布”。
  3. 审核日志

我正在寻找事件溯源(或“命令模式”)来完成这些项目。我觉得用这个来解决 2&3 很舒服,但对于第一个项目同步还不清楚。

如果每个命令都使用时间戳(如果需要),则脱机命令是否需要应用到主系统,因为它们会实时(合并),或者我可以将它们视为在任何命令结束时应用吗?命令(具有更新的时间戳)?

基于命令的同步的任何基本算法描述都会有所帮助。


你会想回顾一下格雷格·杨所说的CQRS 和偶尔连接的系统 https://skillsmatter.com/skillscasts/1980-cqrs-not-just-for-server-systems

命令需要在收到时在记录系统上运行。因此您的离线客户端可以使用其本地缓存,stale、记录副本和排队命令。再次连接时,客户端会更新其记录系统的副本,将其排队的命令与新的世界状态进行协调,然后将新命令发送到记录系统。

格雷格的演讲概述了命令协调的工作原理(基本上,通过查看临时命令生成的事件,并查找与记录系统记录的事件的冲突)。该演讲强烈暗示领域专家希望以特定方式解决事件冲突。

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

离线同步和事件源 的相关文章

  • 事件源和 SQL Server 多个关系表

    我们使用 SQL Server 2016 的事件源 我们有完整的客户产品应用程序 每个应用程序都标记为CustomerId并在事件商店中获取单个指南行项目 这是写入事件存储指南的主要标识符 产品应用程序附带许多不同的关系事物 没有引导 但有
  • 检测 Service Worker 离线状态的最佳实践

    我有一个服务工作者应该缓存一个offline html客户端没有网络连接时显示的页面 然而 有时它会认为导航器已离线 即使它并未离线 那是 navigator onLine false 这意味着用户可能会得到offline html而不是实
  • 使用 Express/Node 和 MongoDB 响应 POST 请求

    我正在编写一个程序 该程序使用 React 作为前端 并使用 Express Node API 作为后端 然后在 MongoDB 数据库中执行 CRUD 操作 现在 我正在使用本机 JS fetch API 在前端执行 GET POST 操
  • Microsoft 同步框架 - 双向同步如何工作?

    我有两个客户端 A 和 B 两个客户端都有相同的同步本地数据缓存 如果客户端 A 对记录 X 进行离线编辑 然后客户端 B 也离线编辑记录 X 并与服务器同步 则当客户端 A 与服务器同步时 客户端 B 所做的更改不会反映出来 并且无论进行
  • 如何确保使用 Microsoft Sync Framework 同步成功?

    我正在使用微软同步框架 https msdn microsoft com en us sync bb736753 aspx同步两个 Microsoft SQL Server 上的表 我创建了一个测试应用程序 它每秒在远程服务器上的表中生成一
  • 如果您编辑/更新该特定对象,laravel 唯一名称表示已被占用

    我有一个投资组合表 我没有在 url 中显示投资组合的 id 而是使用 getRouteKeyName 显示投资组合的名称 所以我希望该名称是唯一的 否则如果它已经存在 它可能会显示错误的投资组合 我将名称字段的规则设置为唯一 如果我现在编
  • Android 上的 SQLite 和 MongoDB 具有同步功能

    是否可以在 Android 上使用 SQLite 在服务器上使用像 MongoDB 这样的 NoSQL 数据库 并在两者之间进行 2 路数据复制 同步 或者最好在两端使用 SQL 或者在两端使用 NoSQL 但不要混合使用 有几种不同的方法
  • 如何使用Python多处理创建同步对象?

    我无法弄清楚如何创建同步的 Python 对象 我有一个名为 Observation 的类和一个名为 Variable 的类 基本上看起来像这样 代码被简化以显示本质 class Observation def init self date
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • Android SyncAdapter 回调

    我已经按照 SDK 中的 SimpleSyncAdapter 示例项目的思路实现了 SyncAdapter AccountManager 和私有 ContentProvider 一切都运转良好 现在 当从远程服务器下载了设置了特定标志的新行
  • 最近的文件列表存储在哪里?

    我想在多台计算机之间同步某些 Sublime Tex2 设置 我不想同步的一件事是最近的文件列表 Sublime Text 2 在本地文件系统的哪个位置存储最近打开的文件列表 在 Mac OS X 上 此列表存储在名为Session sub
  • 关于Java同步的问题

    Java 文档说 同一对象上的同步方法的两次调用不可能交错 我需要知道的是同步是否也会阻止两个不同的同步方法同一类的实例来自交错 例如 Worker 类有一个名为 process 的方法 我们有几个 Worker 实例在它们自己的线程中运行
  • CrudRepository 未从 schema.sql 读取数据

    Setup 我有一个带有简单 Entity Customer 对象和 CustomerRepository 的 spring boot 应用程序 我想用描述的测试数据预加载数据库在我的另一个问题中 https stackoverflow c
  • JRuby:带有 Ruby 块的 Java 命令模式:为什么它有效?

    我正在学习如何将 Java 库与 Ruby 代码集成 并提出以下问题 我有一个用Java实现的命令模式 如下所示 public interface Command public String execute String param pub
  • 为什么锁可以确保底层监视器被释放而直接使用监视器却不能?

    msdn 文章线程同步 C 编程指南 http msdn microsoft com en us library ms173179 28v vs 90 29 aspx规定 lock x DoSomething 相当于 System Obje
  • Java 中具有可重入锁和条件的生产者消费者场景

    我使用可重入锁和条件编写了一个生产者消费者程序 它工作正常 但我不太确定实施是否正确 此外 它似乎不是最佳的 有人可以验证这是否是正确的实现 此外您能告诉我如何优化它 比如 在真正需要的地方锁定 public class TestRL st
  • 递归触摸修复计算机之间的同步[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 由于我的错误 我正在寻找一种从命令行触摸目录 和子目录 中的每个文件的方法 我的同步存储库在我的开发机器上有点不同步 我现在已经通过一些令人不快的巫术
  • 同步2个具有不同模式的数据库

    我们有一个使用通用表设计的标准化 SQL Server 2008 数据库 因此 我们没有为每个实体 例如产品 订单 订单项等 使用单独的表 而是使用通用表 实体 实例 关系 属性等 我们决定建立一个单独的非规范化数据库来快速检索数据 您能否
  • 使用 XCHG 解锁的自旋锁

    维基百科提供的使用 x86 XCHG 命令的自旋锁的示例实现是 Intel syntax locked The lock variable 1 locked 0 unlocked dd 0 spin lock mov eax 1 Set t
  • 为什么缓存清单在桌面上按预期工作时可能无法让移动 Safari 缓存站点?

    我正在本地玩一个简单的网络应用程序 但不太明白为什么它在 iPhone 上没有正确缓存 我正在服务一个 manifest文件具有正确的 MIME 类型 并且当我在桌面 Safari Chrome 和 Firefox 上打开或关闭本地服务器时

随机推荐

  • 如何在 SwiftUI 中将项目与 VStack 内的顶部对齐?

    我刚刚开始使用 swiftui 我面临着 ui 对齐问题 以下代码从图像顶部创建一个空间 VStack alignment leading Image item imageUrl resizable aspectRatio contentM
  • 如何在android中的数组适配器中设置文本颜色

    在我的应用程序中 我创建了一个列表视图并在列表中添加了一些文本 在我的编码部分中 文本被添加为数组适配器以具有复选框 在布局中 我为列表视图指定了白色 因此文本看起来非常暗淡 如何将文本颜色设置为黑色 我已将列表视图放置在布局文件中 并将文
  • 无需解码图像即可获取 JPEG 分辨率

    我试图在不解码文件的情况下获取 JPEG 图像的分辨率 我从互联网上获得了几个样本 但没有一个可以正常工作 似乎是这样因为manyJPEG 文件不是标准文件 但任何图形应用程序 Irfan PSP Firefox 等 都可以打开它们 JPE
  • 将承运人邮寄至 Bigcommerce Shipments API

    当物品通过 FedEx 运送时 我希望最终客户看到 FedEx 追踪号码 如何指明承运商 我是否需要在 Shipping method 字段中输入 FedEx 运输承运商只能在初始 POST 期间设置 而不能在后续 PUT 请求中设置 创建
  • Facebook/Twitter 风格照片网格风格布局[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试实现 facebook 风格的照片网格布局 我为此使用 angularjs 和 bootst
  • 使用 Google App Engine 套接字进行 DNS 查询

    我正在尝试使用 Google App Engine 的新套接字支持来执行一些 DNS 查询 我在用着dnspython http www dnspython org 执行查询 并且代码在 GAE 之外运行良好 代码如下 class DnsQ
  • 调试 IIS 网站时,ASP.NET Core 2 Web 应用程序不会加载用户机密

    注意 这个问题现已解决 请参阅我的Update 3下面为解决方案 我有一个 ASP NET Core 2 Web 应用程序 需要连接到 SQL Server 数据库 根据我的Update 2下面我正在使用 IIS 调试应用程序 我正在加载配
  • 在处理可选字段时,在 gremlin 中使用注入进行长遍历

    我正在构建一个长遍历以在一个查询中添加数百个顶点 我从官方网站上看到 推荐的方法是注入对象列表并在那里添加顶点 http tinkerpop apache org docs current recipes long traversals h
  • CSS 或 SVG 中的波浪

    我正在尝试用以下方法创建柔和的波浪CSS我遇到了一些麻烦 我现在正在使用边界半径来创建波浪 但它看起来更像云 我尝试使用transform translateZ 180deg 但是div然后颜色是颠倒的 Here s what I want
  • Bootstrap Jumbotron 底部的 CSS 箭头

    我正在尝试使用边框创建一个 css 形状来表示下图中的黑色形状 黑色形状将位于 Bootstrap 大屏幕内部 或上方 红色区域是背景图像 我一直在尝试下面的代码 它给了我一个箭头 但不是我需要的形状 也许是两个箭头 任何帮助表示赞赏 ju
  • 如何在meteor.js 中本地化(i18n) moment.js?

    如何告诉在meteor js 应用程序中使用的moment js 使用英语以外的其他语言 moment js 作为 mrt 包安装 在默认英语下运行良好 使用来自 moment js 文档的演示调用http momentjs com doc
  • 使用 NuGet.Core 以编程方式推送 NuGet 包

    我目前正在打包一些文件 并使用命令行工具将它们推送到我们一台服务器上的 NuGet 源 我没有使用命令行工具 而是使用 Nuget Core 设置了一个项目 并成功创建了一个包 我现在尝试通过 NuGet Core 将该包从我的计算机推送到
  • dbReadTable 将日期列从 SQL 数据库强制转换为字符

    我可以将日期写入 SQL 表DBI dbWriteTable 并看到该列实际上在数据库中被格式化为日期 但是当我使用DBI dbReadTable 在 R 中 相同的日期列被强制转换为字符列 如何将 SQL 表读入 R 并保留日期列格式 l
  • Grails 1.3.7 / Java 7 兼容性

    有人幸运地使用 Java 7 运行 Grails 1 3 7 应用程序吗 我创建了一个全新的 Grails 1 3 7 应用程序并尝试在 Java 7 下运行它 我收到以下错误 但该应用程序似乎运行正常 我们有一些 1 3 7 应用程序 我
  • 我是否总是需要考虑性能?

    我来自 DBA 世界 性能一直是我的痴迷 我正在转向开发 并且我总是不断地 无时无刻地思考性能 阅读 SO 有时似乎性能并不重要 例如 对于 hibernate 或任何其他 ORM 的传播者来说 作为一名开发人员 我什么时候必须考虑性能 什
  • 去除android.widget.Toolbar阴影

    使用API 21 Toolbar Toolbar Toolbar toolbar new Toolbar this toolbar showOverflowMenu 想彻底消除它的影子 setElevation 0 从那以后什么也没做get
  • UIRefreshControl背景颜色

    是否可以使 UIRefreshControl 的背景随着控件的增长而增长 我希望刷新控件有一个彩色背景 以匹配顶部单元格的背景颜色 更改表格视图的背景颜色是不可接受的 因为底部的空单元格也会有颜色 但我需要它们保持白色 苹果的邮件应用程序显
  • ((float) rand() / (float)((1 << 31) - 1)) 的含义

    我试图理解一个 C 程序 其中包含一个 h 文件 其中包含以下行 define random float rand float 1 lt lt 31 1 C程序还包括
  • 在 React Native 中面临“无法安装应用程序。请确保您有 Android 开发环境”的问题

    你能帮助我吗 我被困在反应原生中创建一个新项目 如下图所示 我能够运行旧项目 但我无法运行新项目 我已按照以下步骤操作 react native init projectName cd projectName react native ru
  • 离线同步和事件源

    我们的应用程序中基于 CRUD 的部分需要 离线双向 双向 同步 能够修改数据直到准备好然后 发布 审核日志 我正在寻找事件溯源 或 命令模式 来完成这些项目 我觉得用这个来解决 2 3 很舒服 但对于第一个项目同步还不清楚 如果每个命令都