- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个分布式系统模型,其中有一个生产者 (P)、一个消费者 (C) 和 1, 2, 3, ... n 个工作人员 (Wn)。所有这些组件都通过 Microsoft Azure 服务总线(B) 进行通信。总线内部有一个主题(T)和一个队列(Q)。
(P) 以不同的速率将消息推送到 (T)。 (Wn) 的[它们的数量是 (P) 消息速率的结果]从那里获取这些消息,根据一些预定义的函数更改它们,然后将消息转发到 (Q ),(C)从中拾取它们并按照计划进行处理。
此模型的目的是研究此类系统的可扩展性,特别是针对 Azure 服务总线。应用程序本身是用 C# 编写的,并且它们都在同一系统内执行。
我对 Azure 服务总线的功能有两个顾虑:
似乎存在预定的消息分发顺序,导致负载平衡不均匀(在(W)之间)。
假设我有 3 个 (W) - 或 (W3):如果 (P) 现在要向 (T) 发送 1.000 条消息,我会期望分布稍微均匀,接近 1/3每个 (W) 的所有消息。然而事实并非如此;看起来好像(W)的其余部分只是坐在那里等待忙碌的(W)处理一条又一条的消息。突然间,也许在15到20条消息之后,另一个(W)会收到一条消息,但平衡仍然很不平衡。
因此,我现在(W)只是坐着无所事事(在不同的时间段内)。
我在 (W) OnMessage() 函数中尝试了 Thread.Sleep(timeToSleep)。如果不是因为第一个问题中表达的担忧,这似乎符合我的需求。
我的实验:每当消息到达 (W) 时,工作就会开始,就在 message.Complete() 发送到 (B) 之前,我会执行 Thread.Sleep(2000) 或类似的操作。理想情况下,另一个(W)应该接替第一个(W)睡着的地方,但他们没有。第一个 (W) 醒来并获取另一条消息,如此循环继续,有时会持续 15-20 次,直到另一个 (W) 最终获取一条消息。
请原谅我在通过绘图进行解释时表现不佳,这是当前场景(图 1)和理想的、想要的场景(图 2):
Figure 2: optimal/wanted scenario
我希望对此事进行一些澄清。预先感谢您!
最佳答案
消费者之间的消息分发按照向服务总线发出消息请求的顺序进行处理。无法保证消息级别的精确均匀分布,并且分布将受到功能使用(包括预取)的影响。在任何实际的工作负载情况下,您都会发现分配是公平的,因为忙碌的工作人员不会要求更多消息。
关于c# - Azure服务总线负载均衡不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43224749/
如何检查枚举是否等于可能情况之一。有没有比以下更好的解决方案: [.orderedAscending, .orderedSame].contains(Calendar.current.compare(
我正在尝试使用 openCV 和 C++ 来均衡 HSV 图像的直方图。我知道有些带有 openCV 的库可以为我执行此操作,但我想手动尝试以了解该方法。 我假设均衡将在 HSV 图像的 V chan
我有一个包含多个列的表格。这些列可以包含不同大小的内容,因此高度会有所不同。 我想做的是调整单个元素的高度,使它看起来像这样: . .table { display: flex; ba
:) 我有一个小问题: 我有一个 div,在里面有两个 div,一个挨着另一个。左边的一个在调整大小时改变其高度以保持其与宽度的关系,我希望右边的一个与左边的高度相同;我在文档末尾的 jQuery 中
我正在尝试在 YAML 中创建三列布局。我正在使用此框架的网格功能来定位列(导航、内容、侧边栏)。 我的问题:如何将所有三个 div 的高度设置为相同的大小。 YAML 应该提供 ym-equaliz
这个问题在这里已经有了答案: How do I keep two side-by-side div elements the same height? (24 个答案) 关闭 5 年前。 有没有一种
好像我的 JavaScript 没有听我的。我只是想将所有 anchor 的高度设置为等于这些 anchor 的最高高度。 HTML {{products.title}}
我想对同一主题的两个半脸彩色图像进行均衡,然后将它们合并。它们每个都有不同的色调饱和度和亮度值....使用 opencv 我如何标准化/均衡每个半图像? 我尝试执行 cvEqualizeHist(v,
当一个div高度很大时,我想等于两个div的高度 例子: B ACD Div 2 的高度大于 div 1 最佳答案 我可能有一个可能的解决方案: http://jsfiddle.net/adaz/w
我正在尝试做类似的事情(我已经删除了不必要的东西) Models.Parent.findAll({ where: { parent_id: {
我在 node 中使用 typescript,它在开发模式下运行良好,通过使用以下命令运行我的 index.ts 和 ts-node。 ts-node src/index.ts 但是当我将 types
我是一名优秀的程序员,十分优秀!