分布式系统,资源同步设计

2019-09-09 15:10:43 +08:00
 VensonEEE

有个古老的项目,拉到了大客户资源,需要翻新装修。需求如下:

2123 次点击
所在节点    程序员
5 条回复
BuffDog
2019-09-09 16:48:51 +08:00
这边情况非常类似,交流一下?
misaka19000
2019-09-09 16:53:42 +08:00
为啥不用对象存储?
jimrok
2019-09-09 22:22:02 +08:00
去中心化的好像只有 gossip 协议来传递同步信息,java 的库应该有不少。依靠 gossip,其他节点应该知道要同步数据。把资源映射到若干 bucket 上(一致性 hash )。然后请求下载时,节点检查 bucket 是否同步了这个资源,如果没有同步,将请求发送给原始上传服务器,这里怎么知道资源会在哪个服务器上?查一下 redis 最近的写入信息,或者根据一致性 hash,算出来应该是哪个节点。
VensonEEE
2019-09-10 09:24:23 +08:00
@BuffDog 目前准备把集群信息写进数据库,每个机器装个 ftp-server,收到上传的时候同步,每个服务器都传一份。

@misaka19000 不想和具体的云绑定,图片放对象存储 原项目也会有比较大的改动。

@jimrok 研究了一下,挺麻烦,这类的软件生态对 windows 基本没有支持。感谢大佬。
opengps
2019-09-10 10:18:29 +08:00
我有篇博客比较接近,不知道是否有参考价值: https://www.opengps.cn/Blog/View.aspx?id=238

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/599319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX