asp.net-web-api - Service Fabric 服务是否完全是单线程的?

标签 asp.net-web-api owin azure-service-fabric

我正在尝试掌握服务结构,但遇到了一些困难。一些问题:

  • 所有服务结构服务实例都是单线程的吗?我创建了一个无状态的 web api,一个实例,使用执行 Task.Delay 的方法,然后返回一个字符串。对该服务的两个请求是一个接一个地处理的,而不是同时处理的。那么我是否认为可以处理的并发请求数量纯粹是应用程序 list 中服务实例计数的函数? 编辑 想了想,应该是OWIN Wep Api的设置问题吧。可能是它被 session 阻塞了吗?我假设默认情况下没有 session ?

  • 我需要在 Service Fabric 中执行长时间运行的操作(这可能需要几个小时)。我可以在服务结构中使用推荐的模式吗?这些目前是使用触发网络作业的存储队列来处理的。也许有可靠队列和 RunAsync 循环?

最佳答案

您似乎处理了第一部分,所以我将评论第二部分:“长时间运行的操作”。

我们可以看到在 Service Fabric 出现之前很久就已经处理了长时间运行的操作/工作流。出于这个原因,我们可以通过研究软件专家几十年来一直使用的设计模式,站在巨人的肩膀上进行 build 。比如大名鼎鼎的包罗万象的Process Manager .请注意,这种模式有时有点矫枉过正。如果是您的情况,只需查看《企业集成模式》一书中的其余相关模式(Gregor Hohpe 着)。

至于可靠集合的使用,这些是在选择支持所选设计模式的数据结构时的实现细节。

希望对你有帮助

关于asp.net-web-api - Service Fabric 服务是否完全是单线程的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800879/

相关文章:

asp.net - Helios项目的当前状态是什么?

azure-service-fabric - 无法找到依赖项 Microsoft.AspNet.Server.WebListener >= 1.0.0-rc1-final

c# - 无法检查请求中 header 值的空值

asp.net-mvc - WebApi Action 过滤器调用了两次

c# - 在 DelegatingHandler 中访问 ApiController 类型

r - 通过 API 调用获取文件(R & 管道工)

owin - 内容长度 : 0 with OWIN

c# - Jwt token 授权不起作用

azure-service-fabric - 为什么 Actor 状态会丢失?

azure - 限制所有服务结构节点中的一个服务实例