[英]Who should own the logic for service resolution in Service Fabric Stateful Services?
我正在使用Service Fabric状态服务在系统中存储有关用户的状态。 我的分区策略是使用规范化的国际字符串格式电话号码来寻址已命名的服务实例,并使用电话号码的哈希值来解析该服务的分区。 例如:fabric:/ myapp / users / 1/718(国际电话号码为+ 1718xxxxxxx),这使我可以根据服务所在的国家/地区(以及地区号在美国/加拿大市场)对服务进行地理位置定位。
我的问题是理论上的,但实际上也是实用的。 谁拥有服务解析逻辑? 一种简单的方法是仅要求依赖此服务的任何人都知道该服务的分区方式,但这对我来说就像是一个抽象的泄漏。 此外,我想为用户分配一个ID,该ID与电话号码的概念不同。
我也乐于接受这样的想法:以这种方式对用户进行分区是个坏主意。 但是,出于多种原因,建议使用电话。
如果可能的话,我建议远离您的服务使用者,保持对分区的任何了解。 这样,您可以更改服务内部,而无需在用户端进行任何更改。
这导致选项3与内置的反向代理服务结合在一起。 在该额外服务中,您可以查找经过身份验证的用户,并使用其位置来确定服务分区。
如果将其设为新应用程序,则它可以成为多个有界上下文的入口点(/ proxy)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.