不确定如何在Orleans/Service Fabric中实现某些NServiceBus功能
我知道这是两个不同的系统,目的稍有不同,但在某种程度上,它们可以实现相同的目标,我想知道将我们的一些服务从NServiceBus(NSB)迁移到奥尔良或MS Service Fabric有多容易。我花了几个小时在高层次上学习什么是奥尔良和MS服务结构,但有些问题没有答案。我可以列出一些我想在迁移中保留的NSB功能吗?我希望您能告诉我奥尔良或Service Fabric是否支持类似的功能:不确定如何在Orleans/Service Fabric中实现某些NServiceBus功能,nservicebus,azure-service-fabric,orleans,Nservicebus,Azure Service Fabric,Orleans,我知道这是两个不同的系统,目的稍有不同,但在某种程度上,它们可以实现相同的目标,我想知道将我们的一些服务从NServiceBus(NSB)迁移到奥尔良或MS Service Fabric有多容易。我花了几个小时在高层次上学习什么是奥尔良和MS服务结构,但有些问题没有答案。我可以列出一些我想在迁移中保留的NSB功能吗?我希望您能告诉我奥尔良或Service Fabric是否支持类似的功能: 在NSB中,我们可以设置服务的最大线程数 应该在低成本的情况下运行,以便我们可以优先考虑低成本的服务 不太关
NServiceBus端点完全可以托管在服务结构中。如果您选择无状态主机,那么实际上什么都不会改变。请参阅显示如何在Service Fabric或Service Fabric可靠参与者中设置主机的示例:这些是针对(虚拟)参与者的类似解决方案,但具有不同的权衡 奥尔良和服务结构无状态服务:您可以通过SF运行奥尔良,您可以获得奥尔良版本的虚拟演员和SF的弹性 NServiceBus vs Orleans(注意:我对NServiceBus只有非常基本的了解):NServiceBus来自无状态世界,在这个世界中,您可以持久化消息以提供可靠性,Orleans来自有状态世界,您可以持久化状态以获得可靠性。是的,在奥尔良的NServiceBus和Streams中有很多传奇故事,所以你可以在任何地方实现任何东西,尽管这些不同的方法(应该)会影响你的架构设计 回答1:奥尔良谷物(演员)不是服务,数千、数百万、数十亿谷物给你服务。因此,您无法微调谷物之间的调度。Orleans grain并不是T类型所有消息的处理程序,通常有大量grain,grain更像是一个对象而不是一个类
回答2、3:您可以使用奥尔良流实现这些传入和传出消息队列(这基本上是一个好概念),尽管奥尔良没有为您的错误队列、重新处理等提供现成的解决方案。但是奥尔良流不是一个简单的队列,通常您有大量的流,流是一个运行时可变的粒度通信图,因为粒度的数量很大,所以流的数量也很大。由于Orleans为您提供了async/await抽象,而不是处理grains之间的低级双向消息,因此流是多条单向消息的抽象。您想和我一起打个电话吗?我对ServiceFabric和Orleans以及NServiceBus很有经验,因为我为特定的软件工作。如果是的话,请在特定的互联网上给我发一封电子邮件给丹尼尔·多特·马尔巴赫