当前位置

博客

两个团队如何协同开发电子邮件系统?

从报导上看,最知名的例子可能是Coremail和163之间的关系。最近我也开始碰到这个问题了,武汉和北京之间怎么去协同?

按照上篇文章列出的1/2/3,计划是这样,
a. MTA 体系双方各自建设
b. 武汉负责反垃圾邮件引擎的支持,但对外发送方面,两边也是各用各自的方案
c. 每次持久数据结构大变动是一次Major版本升级,小变动算Minor升级。Major升级应该主要是由北京这边推动的
d. web access 双方各自发展
e. 标准协议北京主导
f. Mobile App,甚至 Desktop App,这个需要再积累积累

Regions and Availability Zones

今早内部写了一封邮件,里面用了这两天思考问题时用的两个词:Zone、IDC。晚上查了一下 Amazon,发现 AWS 里面,对应的概念是 Regions 和 Zones

联想到前不久王建硕的那篇被翻译成中文的blog里关于中国巨大市场导致国外互联网巨头面临严酷竞争的事情,中国因为其巨大的地域,互联互通(即使不考虑大家吐槽的运营商垄断问题)使得云计算这件事情变得格外有意思。

以前从来没有从 IaaS 服务提供商的角度去看待过搜狐机房建设,以及内部开发者如何使用该计算环境的问题。看了 AWS 的文档,觉得思路是应该变化一下了。

模仿 AWS,就应该这样描述网络环境:

  1. 建设有北京、济南、上海三个 Regions,Region 从计算的角度看应该是隔离的!!(这一点非常重要)
  2. 每个 Region 内建有若干个 Zones,Region 内部的 Zone 之间用低延迟的网络互连

最关键的第一点就是以前固守 BJ Region 的思路要转变过来,包括内部沟通用的一些名词也应该避免误导。当谈论所谓北京和上海的“内网”时,说的可不是 Region 内部 Zone 之间的“内网”,而是一条有较高质量保证的公网线路而已——All communications between regions is across the public Internet.

寻找帮助去搜索"mysql across aws regions"之类的关键词即可。感谢在 AWS 上探索的开发者们 :)

Topic: 

IMAP 服务器重定向

这两天一直在思考公有云服务体系里面 zone、IDC 等概念,突然想邮件这一块:

1. web 访问由于有 301/302 跳转,是容易的
2. 自己做客户端访问,也是容易的
3. 微软的体系,Exchange 里面有 ExternalURL,想来 ActiveSync 应该有类似的协议机制
4. 那标准协议呢?去搜索了一下,果然 IMAP 里面是有 MAILBOX-REFERRALS 和 LOGIN-REFERRALS 的。但据说没有客户端实现过对该能力的支持。囧

在公有云环境下,要想最大化保证客户邮件访问体验,自己做客户端看起来是必须的。over

Topic: 

如何做好一个 Mailbox Provider

至少需要做好4件事:

  1. 一套好的信件存储服务和邮件索引服务(以及全文索引),及相关运维保障
  2. 一套好的 MTA 运维体系及相关技术保障
  3. email app
    • 二十年前,提供SMTP和POP3即可
    • 十五年前,还需要 web access
    • 五年前,IMAP4,对移动设备更加友好
    • 如今,有了ActiveSync还不够,还得考虑诸如 Mailbox 这样的独立 app provider 竞争
  4. 数据服务

N年前,我看Gmail的招聘广告,工程师大概就是分成这4类。但是从知其然到知其所以然,需要很长的时间跨度。

--2016.01.11 Update,应该再加一个定语 free mailbox provider;企业邮箱服务至少不需要做数据服务(开展营销业务以完成闭环)

Topic: 

关于触发式邮件

我在和人谈起云的时候,常常这样比喻:云计算之于传统IT就好比发电厂取代蒸汽机一样,能源能够廉价地获取,极大得刺激了工业发展,然后反过来推动了对电力的需求,最终成长出新的能源行业;同样云计算虽然降低了IT拥有成本,但这会进一步推动计算应用的无所不在,最终云计算会是一个比传统IT更大的行业。

今天突然想到,类似 SendCloud 这样基础服务提供商的出现,是否也会推动触发邮市场的进一步扩展呢?

传统做邮件发送,量大了就会很麻烦。要去了解MTA,了解邮件队列管理,各种各样的协议,和不同的 MP 沟通,等等等等,然后就是数据分析,查询等等。如果每天邮件发送量到了1万封,就不是普通的企业邮箱能处理,而需要专用的服务器托管来发送;到了10万封这个级别,肯定需要有专门的工程师来花相当的精力做这个事,而且是经验非常丰富的工程师才能做明白。这在北上广深,就意味着每年要在这个项目上投入好几万甚至几十万,并承担巨大的风险——因为一旦这个工程师离职,想找个能替换的人还真麻烦。

于是要么三心二意地做,要么去寻求外包。但,在 SendGrid 打响 Transactional Email 这个名称之前,还真缺乏专业的服务提供商。我觉得 SendGrid,包括 MailChimp 等,一个很大的作用是让用户从事业起步开始,就以很小的成本体会到了这种专业化电子邮件运营服务为其带来的收益。

有这么一种可能,就是相当部分的触发邮,包括许可订阅的邮件需求,因为上述巨大的成本,以及缺乏针对性的、安全可靠的服务提供商(最后再加一个形容词,可弹性扩展的吧),被抑制住了。我们期望能够以优质的产品,把背后的需求释放出来。

Topic: 

关于 DSN/ESC

SMTP 协议除了 2XX,4XX,5XX 这些 status codes,后来又发展出一套 Enhanced Status Codes,最基本的在http://tools.ietf.org/html/rfc3463,后来又有 RFC 3886, 4468, 4865, 4954, 5248 不断补充。

除了仔细阅读 RFC 学习之外,微软 Exchange 有份文档描述了若干 ESC 的情况:http://technet.microsoft.com/zh-cn/library/bb232118%28v=exchg.150%29.aspx

也有人针对 Postfix 日志写了一个 DSN 翻译脚本:http://melinko2003.blogspot.com/2009/10/centos-postfix-dns-status-script.html

Topic: 

粤语里的卷舌

总觉得自己粤语歌唱的越来越差,很多音自己唱出来都觉得发得不准确

自我分析是因为长期说普通话,为了把卷舌不卷舌分得清楚,不卷舌的音就会把舌头打得特别平

这就导致粤语里的有些音我发不出来了!!虽然北方人会觉得南方人说话不卷舌,但其实粤语里面发音细细分辨还是很丰富的,有些音可能舌头卷得不多,但是要在口腔里打转

总之粤语歌需要重新练练了

Topic: 

邱可心最近二三事

这丫头身高1.53m了,稳步而坚定的向她小姑姑——我们家庭第一女性身高——发起超越

最近一个月爬了一次香山、一次凤凰岭,她一路都没有叫苦叫累,虽然心里可能还是不爽,路上也老是嚷嚷着要买饮料冰激凌,但至少不再抱怨爬山这件事,比以前有了很大的提高。
计划什么时候开始带她跑步

今年暖气停了以后,屋里冷,晚上又不开空调,于是她就挤在大床上睡。结果有一天晚上她居然把被子踢了后,钻到我被子里;然后我把她重新盖好,早上醒来时发现她还是在我被子里。。。。。。真是温馨啊,但是这样的事情以后很可能不再会发生了。sigh

昨晚回到家里,她给我秀她收到的柯南卡片。我问:是哪个小男生送的呀?她说不知道,课间休息出去玩回到了教室就看到桌上有这张卡片
-- 也不知道这事是真是假
-- 如果是真的,她居然没有和她老妈汇报,而是和老爹说(我回家很晚,她有大把时间交流这个)。。是什么潜意识在吗?

Topic: 

记录推推 22 个月的一段对话

【晚上 LP 抱着推推在阳台玻璃前往外面看灯、车什么的,我在旁边凑过来凑过去】
我【伸手】:推推,爸爸抱一下?
推推【用手拨开我的手】:不要不要
我【继续伸手】:推推,爸爸抱一下?妈妈累了!
【推推紧紧地趴在 LP 身上】
LP【可怜地看着我】:推推,爸爸站得高,看得远,让爸爸抱抱好不好?
【推推直起身,看看我,然后向我伸出了手】
【我抱了一会儿,从阳台换到客厅继续晃悠,LP 在旁边凑过来凑过去】
LP【伸手】:推推,妈妈抱一下?
推推【紧紧地趴在我身上】:妈妈累了……

Topic: 
订阅 RSS - 博客