自然地,随着所有这些微服务和不变性的炒作,现实生活中出现了这样的问题:
如何从一个不可变的容器化应用程序发送电子邮件,该应用程序应该支持从普通 SMTP 到 Sendgrid、MailJet、Mandrill、Mailgun 等事务性邮件提供商的多个提供商?
在基于过去架构原则构建的软件系统中,这个问题通常通过允许覆盖默认 SMTP 提供程序的插件机制来解决;WordPress 就是一个例子。然而,这被认为是糟糕的设计,因为它破坏了应用程序的不变性。
自然地,随着所有这些微服务和不变性的炒作,现实生活中出现了这样的问题:
如何从一个不可变的容器化应用程序发送电子邮件,该应用程序应该支持从普通 SMTP 到 Sendgrid、MailJet、Mandrill、Mailgun 等事务性邮件提供商的多个提供商?
在基于过去架构原则构建的软件系统中,这个问题通常通过允许覆盖默认 SMTP 提供程序的插件机制来解决;WordPress 就是一个例子。然而,这被认为是糟糕的设计,因为它破坏了应用程序的不变性。