- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在为我们的组织了解 MS Orleans。据我了解,只要所有数据库更新都通过 Grains 进行,Orleans Grains 就会与数据库保持同步。
但是如果有一些批量处理过程(例如数据文件的处理)更新/插入/删除数据库中的记录,会发生什么?
奥尔良是否有一些流程或模式可以满足这个需求?或者我们是否需要通过 Grains 处理所有批量过程?如果我们通过grain处理批量操作 - 我们是否通过更新每个grain来进行处理(如果每个grain将自身更新到数据库中,这似乎非常昂贵),或者是否有一些批量模式可以用来强制所有受影响的grain“刷新”? p>
答案可能是显而易见的。我在文档中没有找到有关这些场景的任何内容。
我们将使用 Orleans 作为带有 MS-SQL 服务器的本地安装。
编辑:
我指的是更新N粒数据的过程。对于 sql 来说,更新 1000 条记录的单个调用比更新一条记录的 1000 次调用要好得多。一个具体的例子是库存更新:每个产品库存都是一粒 Cereal 。每隔 15 分钟左右,第三方就会收到一份文件,通知应用程序之外发生的库存数量变化。这应该在数据库中更新并反射(reflect)在颗粒中。文件可能有 10k 条记录...
最佳答案
您有几个选择。
1)通过grains上传——grains将缓存数据并存储在数据库中。这部分违背了您高效数据库上传的目标,因此可能不是您想要的。
2)直接批量上传到数据库,但使用grain来访问和处理/提供数据。颗粒将在第一次请求时从数据库读取数据,缓存它,为进一步的请求提供服务。此外,所有 future 的数据更新都将通过grains进行。这通常是最常见的模式。
3) 如果您还需要定期数据处理,即使没有服务请求,那么在批量上传grain后,您可以“批量踢”grain来开始定期处理。在此选项中,您将编写一个 Controller 循环(例如客户端逻辑),它只会将“Init”调用到一组颗粒中,一个接一个(但并行:并行调用 X (X ~ 100) 上的 Init 并等待它们全部在一起),然后进行下一批。 Grains 将在初始化时启动计时器或提醒。
关于persistent-storage - 奥尔良 - 批量数据导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46813965/
连接到奥尔良服务器的正确方法是什么? 可以说我有一个移动应用程序,我想从该应用程序连接到奥尔良服务器。 我应该直接连接到奥尔良还是使用某些前端服务器(为什么?) 如果直接使用,我应该使用奥尔良流或自定
我正在评估 Microsoft Orleans 作为自定义分布式缓存(以及其他功能)的基础。 我能够使用 MembershipTableGrain 创建一个用于评估目的的不可靠集群。一切都按照文档中的
我目前正在为我们的组织了解 MS Orleans。据我了解,只要所有数据库更新都通过 Grains 进行,Orleans Grains 就会与数据库保持同步。 但是如果有一些批量处理过程(例如数据文件
我目前正在为我们的组织了解 MS Orleans。据我了解,只要所有数据库更新都通过 Grains 进行,Orleans Grains 就会与数据库保持同步。 但是如果有一些批量处理过程(例如数据文件
我刚刚开始学习 Microsoft Orleans,我想知道如何最好地处理我们的一个场景。我们将有一个接收请求的 REST 服务,该请求最终会导致在外部系统中创建一条新记录。该记录将具有长 Id 值。
如果您不了解 C# 但熟悉 actor 模型,请阅读下面我的问题,因为它更多地涉及架构和数据管理。 我是一名非常初级的 C# 开发人员,正在尝试了解 actor 模型是什么。我已经完成了它,但还有一点
我是一名优秀的程序员,十分优秀!