预计未来相当一段时间的主要精力会集中在优化一个行业专业网盘,其中主要的挑战是 大数据,某个行业第一公司一次迁移12TB 的业务资料,一个是并发,虽然是TB 业务,但是网盘的数据权限是企业主账户,一个主账户下有若干子账户,子账户同时操作网盘会产品并发问题。不同于个人数据,商业数据往往具备一定的价值,客户付费的情况下,不能让客户的数据产生逻辑异常。
还有就是数据权限的控制,往往客户希望不同的子账户有不同的数据权限。这些逻辑冗杂的在一起,公司又仅仅投入2个人,挑战可想。
一、网盘的作用
专业网盘不仅仅有管理资料的作用,往往还具备一定的业务逻辑,例如多选之后发起某些业务逻辑,全局搜索相似图片等。
网盘的功能尽可能单一。
二、技术架构
目前的技术实现主要是MySQL的业务逻辑表+ES+MQ ,测试环境经常出现数据不一致情况,由于大部分操作依赖于ES的数据,怎么保证数据库数据和ES 保持一致就是一个关键问题。
三、网盘中业务逻辑
目前网盘中冗余很对业务数据,这既是业务需求的客观需要,也阻碍的网盘的性能,线上就发生过,客户移动一批数据导致了生产环境OOM, 幸亏是用了docker 容器,不需要人工干预就能重新启动,但是频繁的OOM 就会严重影响用户体验。
以上就是网盘的现状,接下来我会系统性的研究优化策略,碍于公司资源,这些策略不一定会有生产环境的实施,但我会尽可能的从一定高度和各个角度交叉验证我的想法。
欢迎有想法的同行一起交流:QQ群:424506194