我试图了解 DHT可用于解决我正在处理的问题:
我有一个交易环境,专业期权交易者可以通过要求其他交易者借给他们一些风险限额来提高他们的风险限额。借贷交易者可以搜索具有某些风险参数的交易者,这些参数是每个交易者个人资料的一部分,即 Greeks ,或者借贷交易者可以订阅某些正在寻找风险的交易者的请求。
我希望这个环境具有可扩展性和分散性,但我不知道当数据包含在 DHT 中时交易者如何搜索特定的配置文件参数。有人可以解释如何做到这一点吗?
更新:
一个可能更容易理解的示例可能是 SO,但 Risk Exchange 不是作为 Web 应用程序运行,而是作为每个交易者工作站上的桌面应用程序运行。风险请求就像问题(可能由合约、交易所等标记),每个用户都有一个文件,显示他们的请求历史、借入风险的返回等。
显然,“交易所”可以在服务器上运行,但我希望将其分散并使其具有可扩展性,以便系统可以支持任意数量的交易者。如果这些信息存储在分布式哈希表中,我如何搜索与交易者资料有关的关键字、标签和其他数据?
最佳答案
你的问题在我耳中自相矛盾。 DHT 是一种以去中心化方式分发数据的好方法,但不能为节点提供信息概览。这意味着任何概览操作,例如向网络询问某些数据,都必须在集中收集点完成。这个矛盾的解决方案已经被创造出来,但它们的容错性与金融交易等关键系统不匹配。
所以我的回答是使用集中式服务器来保存 DHT 网络的概览缓存。
关于language-agnostic - 如何在社交交易环境中使用 DHT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634627/