首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure持久函数编排实例之间缓存数据?

如何在Azure持久函数编排实例之间缓存数据?
EN

Stack Overflow用户
提问于 2020-06-19 14:40:08
回答 2查看 697关注 0票数 0

文档指出,Azure持久功能编排代码应该是确定性的,因为是重放。在我的例子中,我在Azure Table Storage中有一些数据,我需要在工作流中获取这些数据。工作流是递归的,Azure表存储中的数据可以在执行过程中更改,并且可以在大约1分钟内保持过时状态。在常规代码中,我会依靠内存缓存来提高性能。但在编排中,假设它不能直接使用,因为这会使工作流不确定。

我仍然可以在activity中使用缓存,并从编排中调用它,但每个activity调用都涉及输入\输出的序列化\反序列化以及通过控制队列传递消息。这些操作比获取数据本身更繁重。

所以我有一个问题,有没有什么模式可以用来在内存中的编排实例之间缓存数据,而不需要将这个逻辑包装在活动中?

EN

回答 2

Stack Overflow用户

发布于 2020-06-20 03:19:48

我可以建议你的是:使用分布式缓存,特别是Azure的Redis缓存。

我为你画了一张图片:

在编排中从Azure Table Storage中获取数据,在其中执行操作并将其保存到Redis缓存。然后将所需数据的id传递给每个活动。然后,您可以从每个活动中的Redis缓存中获取数据。

这是您所要求的具有缓存的解决方案。但是,请注意,如果你想要高性能的数据查询,Azure Table Storage不是最好的解决方案。我建议您使用Azure SQL或CosmosDB。但是,如果你正在寻找一个便宜的选择,这是很好的。但在这种情况下,Redis缓存对你来说不是一个好的选择,因为它也不是一个便宜的解决方案。如果这个Redis缓存对你不起作用,我建议你重新检查你的算法。

祝好运!

票数 2
EN

Stack Overflow用户

发布于 2020-07-11 23:30:50

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62464653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档