首页 > 作文

[项目] 企业邮箱读信接口的缓存改造过程

更新时间:2023-04-08 09:55:26 阅读: 评论:0

邮箱中最重要的一个功能就是读取一封信 , 也是使用的最多的接口 , 对此接口的读取效率是有一定要求的.

1. 最早的邮箱架构邮件还诗人拼音是存放在本地的共享文件目录下 , 每次读取邮件 ,就是在本地寻找到这个文件本体 ,然后把文件内容返回来就可以了.

2. 随着邮件越来越多 ,在本地遍历邮件目录和文件列表变的十分缓慢 , 于是就把本地文件 , 迁移到了公司内部的分布式文件系统s3 , 邮件的索引信息元信息存储在数据库分库分表中 , 拆分出索引服务的tcp接口 , 前端通过索引接口找到路径信息 , 通过路径信息拼接好http协议 , 调用http接口去下载文件 .

3. 在调用s3的时候 , 不能每次打开一个邮件 , 都去调用s3吧 . 所以在本地再次创建了共享目录 , 作为缓存目录 , 第一次读取的时候是去s3下载 , 保存到缓存目录 , 之后就直接读取缓存目录就可以了

4. 邮件服务会有这么几个对外的端 , web , pop , imap , 三个端 . 现在三个端是各自自己缓存的邮件 , 不能共享. 为了再次提升效率 , 就通过nginx代理部署了专门的缓存服务器 , 三个端都直接去缓存服务器下载文件 , 缓存服务器再去拉取s3的文件 ,并且缓存下来 , 这样三个端都能共享一份缓存了.

5.公司内部的s3服务并不是特别稳定 , 因some和any此部门又引入了阿里云存储 , 在收信的时候会同时往s3和阿里云写两份文件 , 在索引服务中增加标识 , 标识错简出属于s3还是阿里云, 还是两边都有. 各端通过标识 , 优先去阿里云拉取邮件 , 因为阿里云和s3存储文件的路径不一致 , 因此就废弃了nginx的代理缓存 .

世界最好工作

6.我负责的web和移动客户端, 其他端不知道 , 每次都前往阿里云拉取邮件 , 因为是走的阿怎样设置开机密码里云内网 , 不会占用流量 ,速度也很快 ,为了项目的可维护性 ,迁移服务器时,不需要考虑各种缓存目录的权限问题 , 就去掉了所有缓存 , 直接访问阿里云存储.

7.现在接口中最大的性能问题是在解信的过程中 , 需要逐行读取和拆分 , 封装成对象 , 比较慢 , 应该是需要升级php来改造这一过程.

本文发布于:2023-04-08 09:55:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/30b89b7cfd0933ab33a9ec96e6094663.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:[项目] 企业邮箱读信接口的缓存改造过程.doc

本文 PDF 下载地址:[项目] 企业邮箱读信接口的缓存改造过程.pdf

标签:缓存   阿里   邮件   文件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图