MSMQ 是否适合此方案?电子邮件发送应用程序



我是MSMQ的新手。
这是我的方案:一旦账单由计费软件生成,我需要向所有客户发送电子邮件并保证交付(快速(。
以下是我们需要注意的可能事项:
1.如果互联网关闭,那么应该可以在一段时间后重试发送。
2. 邮件发送
顺序
3.能够优先处理/发送电子邮件。

我有关于服务代理(MSSB(的知识。

谢谢

为了解决问题中的第 1 点,如果您在不同位置有许多计费软件实例,那么您可以创建一个负责发送电子邮件的"中央"服务(让我们调用托管该服务 ServerX 的计算机(。在这种情况下,您需要解决的主要问题是确保 ServerX 能够持续访问 SMTP 服务器(将发送电子邮件(。因此,理想情况下,ServerX应该具有非常可靠和稳定的互联网连接,或者如果您的SMTP服务器位于您自己的网络上,那么ServerX必须具有不受阻碍地访问局域网上的 SMTP 服务器。现在,如果您的软件正在生成您要发送给客户的账单,则位于不同的位置(远离 ServerX(然后,您可以使用 MSMQ 来确保计费软件实例发送的电子邮件请求实际传递到 ServerX。基本上,您的计费软件将调用ServerX上的MSMQ服务,而不是直接调用SMTP服务器,MSMQ可以充当中介,将收到的消息传递到SMTP服务器。如果您想到的架构是我上面提到的,那么这是一项可行且易于实现的服务。相反,您可以让计费软件的每个实例调用SMTP服务器 - 尽管这样您会为自己带来额外的障碍并创建多个可能的故障点,而不是减少它们。

一旦你让你的计费软件实例调用ServerX,那么你提到的其余点(2和3(就变成了简单的手续,可以通过ServerX上的服务中的简单业务逻辑轻松解决。

所以总结一下,我会这样做:

  1. 创建一个中央服务(使用 MSMQ(,该服务将接收和处理您的电子邮件请求。
  2. 确保承载 MSMQ 服务的服务器对 SMTP 服务器具有可靠的访问权限。
  3. 让计费软件将电子邮件请求发送到该中央 MSMQ 服务,而不是直接发送到 SMTP 服务器。
  4. 中央服务器上根据需要处理请求,即每当您在队列中收到新消息时,调用您的电子邮件发送服务。

虽然说了这么多,这只是将 MSMQ 融入场景的配方,但我不太确定它是否是您想要做的事情的最佳选择,但这是您可以将其集成到您的企业中的一种方法。

最新更新