内部和外部的许多人都问过我我们决定构建自己的消息传。输代理 (MTA)还是使用市场上现有的一种商业产品。鉴于最近有关两家商业 MTA 供应商合并的市场新闻,我认为现在是分享我对此的想法的好时机。 早些时候 一开始,SendGrid 使用最流行的开源 MTA 之一的 Postfix 的修改版本来接收和发送电子邮件。在我们开始遇到它的一些扩展限制之前,它一直运行良好。在大多数情况下,Postfix 是一个非常棒的 MTA,但在我们运行的规模上,它真的开始讨厌生活了。例如,我们有一位客户进行了病毒式邀请活动,在短短几天内,他们的流量从每天 1 万封电子邮件增加到 1000 万封。
我们如何使用它再加上我们的客户看到的流量模式对我们造成了严重的伤害。 KAMTA的发展 为了缓解我们遇到的问题,我们决定研究开发我们自己的 MTA。这方面的工作早于我们的 A 轮融资,而且由于当 消费者手机号码数据库 时我们纯粹是从利润中运行该系统,我们真的无力购买可扩展的商业 MTA。 我们在 MTA 需要做什么方面有很多经验,因此决定自己开发一个既可扩展又可集成到多租户云电子邮件 IaaS 所需的其他系统中的系统。这样,我们的 MTA 就不会遇到我们一直遇到的瓶颈。当我们当时与我们的主要经销商客户一起对其进行 Beta 测试时,性能比我们之前体验的要好得多以至于他说“你应该称它为 Kick Ass MTA 我们做到了。
它解决了一个主要瓶颈让我们可以重新开发系统的其余部分而不必担心我们的 MTA 会如何扩展。 构建与购买 最终我们确实获得了资金,那时我们考虑用商业“现成”MTA 替换我们自己的 KAMTA。虽然有很好的产品可用,但我们认为发送电子邮件对我们的业务来说是如此核心,以至于我们不想放弃定制我们基础架构的基本组件的能力。拆掉我们运行良好的系统的一部分,然后弄清楚如何与一些新产品集成,这真的没有意义。集成的时间、成本和风险超过了商业 MTA 的好处。我们不想牺牲拥有整个技术堆栈的自由。 这是一个好电话吗? 正如我一开始所说,人们仍然在问这是否是正确的决定。