书趣阁
  1. 书趣阁
  2. 其他类型
  3. 重生2000从写歌开始科技强国
  4. 第242章 QQ远程评审!五千封每秒!架构师沉默!
设置

第242章 QQ远程评审!五千封每秒!架构师沉默!(1 / 2)


周末三天,林远全泡在西厢房。

小艾三个分身同时运转。工作站主体全力备战。消息队列压测调到六千封每秒,延迟压到八点三毫秒。贝叶斯过滤器准确率停在九十一。七,到顶了,再往上需要真实用户数据。

够了。

六月九日,周一。

下午一点十五分,林远换了件干净t恤。远程看不到人,但仪式感不能少。

他坐在工作站前,打开qq。一点五十八分,张智勇邀请添加多人语音通话。

林远点击接受。

耳机里先是一阵电流杂音,然后几个人低声说话。2003年的qq语音采样率低、带宽窄,人声像蒙了层薄纱。

上次去腾迅是一月份,亲自飞到深圳,马化腾在宝安机场举着”sw”的牌子接机。那回只有几个人知道他到了深圳。这次更省事——sars困在北京,连飞机都不用坐。

”守望,在吗?”

”在。”

”我这边四位。产品总监李峻,架构师方河、陈思远。评审流程:你先讲方案二十分钟,然后现场演示,最后技术质询。全程不超过一个半小时。”

”没问题。”

”qq邮箱的内核痛点,三个。”林远语速平稳。

”第一,垃圾邮件泛滥。现有规则基于关键词黑名单,误判率高漏判更高,占比超过百分之四十。第二,高峰投递延迟严重。去年除夕消息队列堆积超两百万封,延迟最长达四十分钟。第三,架构扩展性差,单线程处理,加机器没用。”

”方案分三个模块。分布式消息队列引擎解决延迟和扩展性,贝叶斯过滤器解决垃圾邮件识别,动态负载均衡让系统自动扩缩容。”

他通过qq远程协助把屏幕共享过去,点开消息队列引擎的架构图。

”内核设计是分区顺序写入。消息按收件人id做哈希分区,同一分区顺序写盘,跨分区并行。持久化用写前日志加分区快照——先写wal再入内存队列,异步刷盘。进程崩溃从wal恢复,零丢失。”

”单队列吞吐每秒十万条。”

”第二个模块,贝叶斯过滤器。”

命令行窗口打开,日志刷出。

”十二万封标注邮件,十折交叉验证。准确率九十一。七,召回率八十八。二,精确率九十四。五。现有规则过滤系统准确率七十三。六,提升超过十个百分点。”

”更关键的是误判率——正常邮件被误判的概率低于千分之三。用户最恨这个。”

”下面现场压测。”

压测终端打开。

”双路至强三点零六吉赫兹,四个g内存,三块scsi磁盘raid 5。仿真十万并发用户,每人每秒一封,持续六十秒。”

回车。

终端数据滚动——投递速率、平均延迟、队列深度、磁盘io。

”当前三千二百封每秒,延迟六毫秒。”

数字跳动。三千五,四千,四千五——逼近五千。

五千封每秒。稳住。围绕五千波动,延迟始终低于十毫秒。

六十秒结束。平均速率五千零二十三封每秒,延迟八点三毫秒,零丢失。

截图,qq文档传输发过去。

耳机里沉默五秒。

”压测数据可以复现吗?”陈思远问。

”随时。脚本和配置都可以给。”

质询环节。

方河先开口:”消息队列的持久化用wal,刷盘策略是什么?同步还是批量?”

”批量。五十毫秒或一百条触发一次。崩溃最多丢五十毫秒的消息,但发送端超三秒无回执自动重发,最终不丢。”

”重试风暴呢?”

”指数退避,首次一秒,之后翻倍,最大五分钟。峰值不超正常流量百分之十五。”

方河没再追问。

陈思远接上:”贝叶斯过滤器的训练数据从哪来?”

”enron语料库和spaassass公开样本。”

”问题就在这。”陈思远语气锐利起来,”enron是企业内部邮件,spaassass是英文样本。qq邮箱用户是中文环境,分布差异大。泛化能力怎么保证?”

”三个策略。字符n-gra加词性标注混合,中英文通用。部署后收集用户标记数据每周重训练。再加迁移学习——公开数据预训练,真实数据微调。”

”n-gra的n取多少?”

”二元三元混合。实测比单一n值提升两个百分点。”

第三个问题还是方河:”这套方案能撑多大用户规模?”

”设计目标两亿用户,日均投递五亿封。消息队列通过增加分区水平扩展,理论上节点数不受限。”

”两亿?qq邮箱现在不到一亿。”

”为未来三年留馀量。等涨到两亿再改架构,代价是现在的十倍。”

李峻一直没说话。

直到这时他才开口:”守望,我问一个。”

”请说。”

”你的贝叶斯过滤器没有集成到


设置
字体格式: 字体颜色: 字体大小: 背景颜色:

回到顶部