在 DHT 上以键/值对的形式设计可扩展的高度更新的资源
我想设计一个用户会不断更新和读取的资源,这个资源不需要总是更新,但必须具有良好的扩展性,我的意思是负责该资源的节点及其副本不应该过载。
主要问题是我不明白这怎么可能!我可以通过添加读取缓存来卸载这些节点并以缓慢的速度更新它们,但是对于写入,我不知道如何扩展,因为值必须位于已知的键上才能由用户恢复,所以我无法共享负载关于 DHT...
非常感谢您的想法!
I would like to design a resource that users would continuously update and read, this resource need not to be always update but must scale well, I mean that the nodes responsible for the resource and his replicas should not be overloaded.
The main problem is that I cannot see how it is possible! I could offload these nodes by adding read cache and update them at a slow pace, but for the writing I have no idea how to scale because values must be at known keys to be recovered by the users and so I can't share the load on the DHT...
Thx a lot for your ideas!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不过,经过一段时间后,
一个可能的想法是做一些近似的事情,每次有人想要发布提要时,它也会发布带有等于代表秒的时间戳的密钥的提要(例如 2011 年 3 月 25 日 5 分 1 秒) ),他在其中发布了提要,以便在节点之间自动共享负载,并且负责的节点可以快速更改。
当有人想知道最后发布的提要时,他只需检查实际秒和过去 2-3 秒的时间戳,从而可以恢复最后的提要,在负责不同秒的节点之间分配负载......
这应该使我认为工作:)。
希望我自己的回答对以后的人有所帮助;)
After some though,
one possible idea would be to make something approximative, each time someone want to post a feed it also post the feed with a key equal to a timestamp representing the second (like 25/03/2011 at 5 min and 1 sec) at which he posted the feed, so that the load is automatically shared between the node and that the responsible node quickly change.
When someone want to know the last feeds posted he just check the timestamp of the actual second and the 2-3 past second and can thus recover the last feeds distributing the load between the nodes responsible for the different seconds...
That should make the job I think :).
Hope my own answer will help someone later ;)