当前位置: 首页 > news >正文

面试题——全局邮件的设计

和普通邮件有什么不同

  1. 普通邮件(读扩散 / Fan-in)

    • 逻辑:邮件存储在发送者的发件箱中。收件人需要查看邮件时,系统去所有发件人的发件箱里“拉取”属于自己的邮件。

    • 类比:像去邮局取信。信都堆在邮局(发送方),你需要自己去查有没有你的信。

    • 面试关键词:收件人主动拉取、按需聚合、读时计算。

  2. 全局邮件(写扩散 / Fan-out)

    • 逻辑:发送邮件时,立即将邮件复制到每个收件人的收件箱中。收件人查看时,直接读取自己的收件箱即可。

    • 类比:像快递送货上门。快递员(系统)在发货时直接把信送到你家门口(收件人收件箱)。

    • 面试关键词:发送时预计算、写时分发、空间换时间。

设计思路

全服邮件的核心在于“避免瞬时海量写操作”。

① 数据结构设计(避免循环Insert):

  • 我不会给每个玩家插入一条邮件记录。我会设计一张global_mail(全服邮件表)和一张user_mail_status(用户邮件状态表)。

  • 发邮件时:只往global_mail插 1条​ 数据。

  • 领奖励时:才去检查这封邮件是否过期,并在user_mail_status标记已领取。

② 推送机制(懒加载):

  • 玩家上线拉取邮件列表时,后端逻辑判断:如果global_mail里有新邮件,且该玩家没在 user_mail_status里,则动态显示在列表中。不主动推,而是被动查。

③ 异步发放(削峰填谷):

  • 如果是给全服发附件(比如钻石),且必须到账。我会把发送任务丢进 消息队列(MQ/Kafka),后台起一个消费者慢慢消费,每处理1000个玩家sleep 1秒,保护数据库。

④ 批量处理优化:

  • 如果必须入库(如重要通知),我会使用 Batch Insert(批量插入),一次插入1000条,而不是单条Insert。
http://www.cnnetsun.cn/news/2548682.html

相关文章:

  • 长沙装修设计供应商
  • 别再死记硬背!用Python代码和D-Separation定理,5分钟搞懂贝叶斯网络的4种基本结构
  • ARM SVE指令集:ST3B与ST3D存储指令详解
  • 用Python手把手复现GRO淘金优化算法(附完整代码与CEC2005测试)
  • 别再手动输卡号了!用PaddleOCR+Python实现银行卡信息自动识别(附完整代码)
  • 胖瘦 AP 网络仿真实验
  • Windows Cleaner技术架构解析:开源磁盘清理工具的模块化设计与实现
  • 【STM32 C 语言入门】什么是强制类型转换?小白也能秒懂!
  • 基于SpringBoot的信号发生器设备数据管理毕设源码
  • ImprovWifi 跨平台传输层设计:把协议层做薄,把宿主层做稳
  • How to download Messenger chat history?(下载Messenger聊天记录)
  • PostgreSQL COPY命令:高效数据导入的最佳实践
  • 别再折腾驱动了!手把手教你用一条命令激活Kali中的无线网卡wlan0
  • ML4VIS安全风险:对抗攻击如何操控可视化图表误导决策
  • 使用Python快速接入Taotoken并实现第一个聊天机器人
  • 如何在3分钟内精准定位Windows热键冲突:Hotkey Detective终极指南
  • 为什么92.7%的用户装错ChatGPT桌面版?——20年IT架构师亲测:3个隐藏配置项决定响应速度与上下文留存能力
  • [开源] 临床路径卡牌化培训系统:面向医保办与临床科室的交互式规则教学工具
  • Claude Code 基础配置篇-三层配置体系详解
  • 【AI Daily】AI日报 | 2026-05-24
  • 【DeepSeek生产环境性能崩塌预警】:7类高频OOM错误代码级定位图谱(含torch.compile失效的3个隐藏触发条件)
  • 鸿蒙PC:Qt适配OpenHarmony实战【度量间】:把长度、重量、温度三类换算装进 Qt Quick
  • 鸿蒙PC:Qt适配OpenHarmony实战【汇换】:用固定汇率做一个单机金额换算工具
  • AWS云服务深度解析
  • 深度剖析Claude Code实操逻辑,解锁AI编程高效开发方式
  • Kubernetes边缘计算部署方案:将K8s延伸到边缘节点
  • 云网络与负载均衡
  • 企业团队如何利用Taotoken CLI工具统一配置开发环境与API密钥
  • 从零开发游戏需要学习的c#模块,第二十三章(存档与高分系统)
  • 【图像压缩】基于ADMM的卷积稀疏编码高效算法Matlab实现