![](/img/trans.png)
[英]Trade offs and best practices building microservices with Azure Service Fabric
[英]Service Fabric, What Microservices is best intended for continuous polling from Service Bus
我是Service Fabric的新手。
我们在Azure Service Bus上有一个队列。 我想连续从Service Fabric中的队列中提取消息,处理消息(执行一些业务逻辑)并将某些数据保存在DB中,然后从队列中删除消息。
微服务应每隔几秒钟检查一次队列,以监视是否有新消息。
我的问题是, 将提取数据,处理一些业务逻辑然后保存到数据库的预期微服务是什么? 是无国籍服务还是可靠演员
(编辑:解释错误的问题较早)
我会说,选择哪种型号是个人喜好问题。
您可以在所有节点上运行无状态服务,以接收消息并在工作线程上对其进行处理。
由于单入口模型(限制多线程选项),Actor不能单手处理大量消息。 但是演员可以有很多。 您可以让许多Actor收听消息。 您需要确保那些演员成为并保持活着。
原始答案:
这个nuget包可以这样做: https ://www.nuget.org/packages/ServiceFabric.ServiceBus.Services它支持队列,主题,批处理和会话。
您的问题空间似乎适合有状态或无状态模型。 根据您是否需要维护状态,哪种都可以。
作为一般指导,在以下情况下,请考虑使用参与者模式来为您的问题或场景建模:
参考: https : //docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-introduction
您可以使用任何一个。 无状态或全状态。 是应该没关系的。 我认为您可以执行以下操作:
一旦有了这些,就可以在服务代码中使用StatefulService的“ CreateServiceReplicaListeners”替代或StatelessService的“ CreateServiceInstanceListeners”。
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners() { return new[] { new ServiceReplicaListener(context => new ServiceBusCommunicationListener(context)) }; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.