对不起我的英语 - 如果有些事情不清楚请在评论中问我 - 我会澄清这一点。
我在微服务架构中构建系统。我有一个服务包含用户信息,一个服务用于“优惠”,一个服务用于“创意”。服务“提供”和“想法”通过Restful API(登录和其他操作)提供“用户”服务。我想知道 - 如何处理电子邮件?每个服务都有单独的前端,并在某些操作后发送电子邮件(例如,当某些第三人打开链接时,某些提供创建此优惠的用户将收到电子邮件,或者当某个用户创建想法时,管理员将收到电子邮件)。此外,在每个服务前端,经理可以使用季节统计数据或其他一些信息创建“定期”邮件。每个服务电子邮件的外观都不同,并且内容不同。
我有很多选择,不知道哪个更好。这是一些主张:
哪一个更好?或者可能有更好的选择?
答案 0 :(得分:5)
发送电子邮件就像向另一项服务发送请求(通过SMTP)。因此,当每个服务都能够发送电子邮件时,这是一个很好的方法。
但是,当然有一些常见的逻辑用于发送电子邮件,如渲染模板,发送代码,配置等。这个逻辑应该通过公共代码(dll,包等)在服务之间共享。
所以,就这样:
此方法的一个缺点是每个服务都应具有相同的电子邮件配置(SMTP地址,登录名,密码等)。但是如果你在所有服务之间共享配置,这不是问题。