我一直在阅读 Finagle 并试图理解代码以弄清楚 Aperture 的子集选择是如何工作的。
我已经看到ApertureLeastLoaded有一个“useDeterministicOrdering”和一个“EndpointFactory”,我想这应该是决定哪些客户端进入子集的关键点。
在阅读Google SRE 书中的“确定性子集”部分时,我了解到从客户端的角度选择服务器子集的最佳方法是了解客户端的总数以及当前客户端的唯一顺序标识符,可以用作子集生成器的种子。
在 Finagle 中,我无法理解这个过程是如何完成的(我对 Scala 不是很熟悉),网站和代码中的文档都解释了光圈范式的工作原理,但不太清楚初始子集是如何工作的被选中
我希望有人能启发我