邮箱中最重要的一个功能就是读取一封信 , 也是使用的最多的接口 , 对此接口的读取效率是有一定要求的.
1....随着邮件越来越多 ,在本地遍历邮件目录和文件列表变的十分缓慢 , 于是就把本地文件 , 迁移到了公司内部的分布式文件系统s3 , 邮件的索引信息元信息存储在数据库分库分表中 , 拆分出索引服务的tcp接口...为了再次提升效率 , 就通过nginx代理部署了专门的缓存服务器 , 三个端都直接去缓存服务器下载文件 , 缓存服务器再去拉取s3的文件 ,并且缓存下来 , 这样三个端都能共享一份缓存了.
5.公司内部的...各端通过标识 , 优先去阿里云拉取邮件 , 因为阿里云和s3存储文件的路径不一致 , 因此就废弃了nginx的代理缓存 .
6.我负责的web和移动客户端, 其他端不知道 , 每次都前往阿里云拉取邮件..., 因为是走的阿里云内网 , 不会占用流量 ,速度也很快 ,为了项目的可维护性 ,迁移服务器时,不需要考虑各种缓存目录的权限问题 , 就去掉了所有缓存 , 直接访问阿里云存储.
7.现在接口中最大的性能问题是在解信的过程中