我有一個天藍色的函數在服務總線主題觸發的消費計劃上運行,然後簡單地向隊列中添加另一條消息(所以基本上沒有處理,只是IO)。觸發主題正在以〜1000 /秒的速度填充。我天真地認爲這個功能可以很容易地跟上,但實際上它絕望地被壓倒了,並且主題訂閱很快就填滿了。我已經運行了好幾個小時,所以我懷疑它已經完全縮小了。我是否期望從天藍色的功能有太多的可擴展性?
我應該從函數中獲得多少性能?吞吐量大概是每秒數千次?
編輯:我經常看到這個錯誤在日誌中:
連接嘗試持續了00:00:00的時間跨度。 TCP錯誤 代碼10013:試圖通過其訪問權限以禁止的方式訪問套接字 。
看起來功能與服務巴士的規模不搭配?
編輯2解決方案 更換這種結合:
public static async Task Run(BrokeredMessage msgin, Binder binder, TraceWriter log)
{
var collector = await binder.BindAsync<IAsyncCollector<BrokeredMessage>>(
new ServiceBusAttribute("my-queue"));
...
}
與此:
public static IAsyncCollector<BrokeredMessage> collector;
public static async Task Run(BrokeredMessage msgin, Binder binder, TraceWriter log)
{
collector = collector ?? await binder.BindAsync<IAsyncCollector<BrokeredMessage>>(
new ServiceBusAttribute("my-queue"));
...
}
防止插座的疲憊和功能能夠跟上生產沒有問題。
該解決方案適用於我,我在上面添加了更多細節。 –