IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

搜狐闪电邮的前世

BT的花 blogs 2009-12-24 08:50:40 累计浏览 3,543 次
本机暂存

经过大约一年半的准备和磨合,当初构想的 Lightning Mail Platform 终于开始慢慢成形,为了赶时髦,我决定把它定义为 2.0,之前的那套系统,姑且称之为 1.0 吧。

在我刚刚进入邮件中心的时候,很是被系统的架构震惊了一下(主要是 CGI vs JavaApp 的巨大差异),以前一直觉得 sohu 的技术不咋的,突然发现这个框架还是很有水平,印象比较深刻的有

  1. apache 和后端 resin 的连接上,mod_caucho 自己作了 patch,提升了吞吐量,以及增加了一个简单的任务管理机制。得承认在 eyou 时候比较土,几乎没有想过 apache 也是可以动手脚的
  2. User Lookup DB 是基于 BDB 3.x 开发的。定义了一套同步机制,搞了个 Master-Slave 结构。别的不说,稳定性是比 OpenLDAP 强太多了
  3. 还是 Lookup DB 的服务进程,内嵌了 spidermonkey 引擎,用来作命令解释器。又是让我耳目一新
  4. 漏桶。想象有一个打开底部水龙头的桶,能够以恒定的速度向外流水;调用者时不时的向里加点水,返回结果是桶是否已满。以前作反垃圾邮件的时候也实现了这样的功能,不过是一个内部数据结构,还从没有考虑过抽象出一个独立服务。
  5. 反垃圾邮件包括了一个自动发现相似信件的模块。

其他的子系统还包括:

  1. 邮件桶。上面跑着resin应用服务器,这是和 eyou.com 本质的不同。一个是HTTP代理+应用服务器;一个是CGI+RemoteFS。
  2. 提供客户端连接的SMTP服务器独立分离(不同于MX),被称之为 SMTPOE。这种模式相比较亿邮那样集成在一处的,可伸缩性更好一些
  3. 由于Java没有管道机制,不能简单的调用 sendmail 发信。因此内部设定了一组 smtp server,供web用户发信使用。称之为 websmtp

我猜想以前邮件中心大概有2-3个技术牛人,可惜没有能持之以恒的做下来。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. SmartSprites - 命令行形式的CSS Sprites生成器 (累计阅读 123,894)
  2. Java开发岗位面试题归类汇总 (累计阅读 22,156)
  3. android 开发入门 (累计阅读 19,527)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,147)
  5. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,057)
  6. HashMap解决hash冲突的方法 (累计阅读 12,654)
  7. server日志的路径分析 (累计阅读 11,241)
  8. AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (累计阅读 10,088)
  9. 查看 Apache并发请求数及其TCP连接状态 (累计阅读 10,068)
  10. PHP程序的执行流程 (累计阅读 10,033)