搜索引擎|分布式系统中数据存储方案实践( 三 )


九、文件管理文件管理是系统中的复杂模块 , 由于涉及IO流很容易引发内存问题 , 所以文件服务基本都会独立部署 , 鉴于文件数据丢失很难找回的情况 , 通常会把文件存储到OSS云端 , 在文件服务中会记录各个文件的地址和描述以及业务应用场景;

由于文件的类型多种多样 , 比如:PDF、Excel、Word、Csv、Xml等等 , 其数据处理的手段也各不相同 , 如果文件过大还需要切割分块 , 同时文件管理的过程需要很多约定的规则 , 比较常见的就是大小限制 , 命名信息 , 类型与编码等;
十、持续集成代码工程在版本的交付中 , 会产生多个分支和打包文件 , 持续集成的过程也涉及多个文件仓库的维护管理 , 比如:Git代码仓库、Maven私有制品仓库、Docker镜像仓库、脚本文件仓库等;通过Jenkins服务协调多个仓库实现流程自动化;

对于仓库存储的各种版本打包文件 , 微服务架构下存在不同服务依赖同一服务不同版本的情况 , 另外不排除新老版本的接口存在逻辑冲突问题 , 此时可能需要版本回滚 , 重新依赖原有的分支包 , 再寻求问题的解决方案;关于代码工程涉及的相关存储基本都是使用第三方的云端仓库 , 在管理维护方面比较简单;
【搜索引擎|分布式系统中数据存储方案实践】