簡體   English   中英

服務結構有狀態服務已分區-分布良好

[英]Service fabric stateful service partitioned - well distributed

想象一下,我們希望有一個有狀態的服務按點的范圍進行分區,目的是按點對每個分區進行排序(通常,我們希望將排序任務划分為多個分區)。 我們希望用戶在各個分區之間分布良好。 理想的做法是在用戶點更改時更改每個分區的范圍。 但這是不可能的,因為我們無法動態更改分區范圍。

一種想法是擁有一個有狀態的服務,該服務將管理點的范圍,並使用映射來告訴其他服務應為特定點請求哪個分區。 但這可能意味着對該新服務的大量訪問,這可能會使服務超載。

有更好的主意嗎?

編輯1:

目標1:使排名按排序塊(分區)進行排序,然后由其他服務進行匯總。

目標2:為給定數量的積分提供臨時職位。

我建議您按用戶ID對服務進行分區。 例如,使用userid的模數partitioncount確定分區索引。 這樣一來,始終可以在可預測的分區中找到用戶,並且您的用戶將得到很好的分布(前提是您擁有的用戶比分區多得多)。

您可以使用發布/訂閱機制將變化的分數發布到其他(無狀態)服務,以查看當前的高分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM