您好,我有一个双向同步场景:
- 多种的archos android 客户端设备(我们计划最多有 100 个)需要将小文件(小型 txt 日志)更新到中央服务器
- 中央服务器(可以是 win 或 linux)需要将新内容(一些大文件,如照片或视频)分发给所有 android 客户端
- 服务器和所有设备都在 wifi 下
- 最终,任何 Android 客户端都将通过 USB 连接到其基座以进行进一步同步。
我必须为该场景设计并实现同步系统。
我想过使用Git或者联合以某种自动化方式进行,并花了几个小时进行调查。通信必须是双向的,当服务器将其内容分发到所有设备时,通信不必中断。
- 为此,您对 GIT 有什么提示/优点/缺点/真实场景吗?
- Git 的去中心化特性能起到一定帮助作用吗?换句话说,在某种多主网状网络解决方案中,更新的设备能否成为其他客户端的主设备?
- 您还有其他协议/技术可以建议我吗?
请注意,由于无法连接互联网,Dropbox对我来说不是一个选择。
答案1
不受限于/必然与 Android 相关:我使用 Git 同步我的主目录、我的文档和许多其他内容。效果很好。有时功能有点“太”强大,但我有一些用于最常见任务的快捷脚本(例如自动拉取、添加新文件、使用一些虚拟消息提交、推送到某个服务器 - 所有这些只需一个命令)。而且我喜欢拥有完整的历史记录。这样,如果我不想保留其中的某些内容,Git 会为您提供全部功能,让您只保留您想要的内容。
Git 的去中心化特性对我非常有帮助。我仍然有一台服务器,主要用作备份,当我手头没有其他系统时,我可以在那里获取数据。但我也经常直接在我的机器之间同步。所有这些都可以通过 Git 实现,您可以按照自己喜欢的方式使用它。