Service Fabric:具有分区负载平衡的可靠服务管道
Posted
技术标签:
【中文标题】Service Fabric:具有分区负载平衡的可靠服务管道【英文标题】:Service Fabric: Reliable Services pipeline with partitions load balancing 【发布时间】:2016-02-20 06:57:56 【问题描述】:在尝试实现 Service Fabric 的可靠服务管道时,我有以下三种方法可供选择:
而且看起来 C 是一个不错的选择。 Details here.
在这种情况下,我需要在工作服务之间实现某种消息泵。
例如,我有 2 种工人服务。第一个是 IO-bound 并且不需要可扩展性。其次是受 CPU 限制且需要可扩展性,因此它使用分区。我不关心进程具体项目将使用什么分区,因此消息泵必须充当负载平衡器,并将项目排入 CPU 绑定服务,输入队列中的项目最少。目前我已经为此目的创建了一个有状态的服务。
在这种形式中,这看起来与 TPL 数据流管道非常相似。
我的问题是我是否正确使用了 Service Fabric?这里有过度工程吗?
Reliable Actors 是否更适合这种管道?(或管道的一部分)
【问题讨论】:
【参考方案1】:我认为 Actors 不是解决这个问题的正确方法。 RunASync() 方法很难在 Actor 中模拟。您可以为此使用计时器和提醒,但感觉不自然。所以我会为此提供服务。
【讨论】:
以上是关于Service Fabric:具有分区负载平衡的可靠服务管道的主要内容,如果未能解决你的问题,请参考以下文章
Service Fabric - 如何保留或保护我的硬编码端口
如何配置服务结构负载均衡器以停止对 CPU 过载节点的请求?
Azure Service Fabric 中的可扩展工作线程