并发应用架构设计与NoSQL数据存储方案
在软件开发中,我们之前设计的并发程序规模较小,且并发部分大多是孤立的。现在,我们需要构建一个更强大、复杂且管理难度更高的应用。简单的聊天应用和Web服务器已无法满足需求,我们将构建一个具备版本控制功能,支持Web和Shell访问的文件管理器。
现有服务的问题与需求
许多组织在文件共享和分发方面面临诸多问题,如存储库、存储空间或文件数量的限制,服务故障时的潜在不可访问性,以及安全问题,特别是对于敏感信息。像Dropbox和Google Drive这类简单的共享应用,在存储数据时缺乏大量版本控制选项;而GitHub虽然是出色的协作版本控制和分发系统,但成本较高,开发者的失误还可能导致严重的安全漏洞。
我们的目标是将版本控制(借鉴GitHub的理念)与Dropbox/Google Drive的简单性和开放性相结合。这种应用非常适合作为内部网的替代方案,完全隔离且可通过自定义身份验证访问,无需依赖云服务。在组织内部进行文件共享时,可通过命令行和简单的Web界面实现分支、备份、文件锁定和版本控制。
并发应用设计
在设计并发应用时,我们将有三个组件在不同进程中运行:
- 文件监听器 :负责监控指定位置的文件更改,向Web/CLI服务器和备份进程广播更改信息,并维护数据库/数据存储中文件的状态。
- Web - CLI接口 :允许用户增加或修改文件,当提交新文件或请求修订时,需向文件监听器广播信息。
- 备份进程 :接收文件监听器的广播,并以迭代方式创建备份文件。 <
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



