[关闭]
@zhangnian88123 2016-10-13T14:20:05.000000Z 字数 1640 阅读 3246

通知网关架构设计

问题背景

一般公司的APP后台、监控系统都有发短信、邮件的通用需求,比如:APP后台在用户注册时需要向用户发送验证码短信;监控系统遇到异常状态时,需要向管理员发送告警邮件。最简单的做法是在业务代码中嵌入发送短信/邮件的代码,这样的设计会有以下劣势:

1、代码重复,在需要发送短信/邮件的地方就需要引入重复代码

2、不适合SOA化环境,由于后台系统不同模块可能采用不同语言编写,所以需要将发送短信/邮件的逻辑用不同的语言重新实现一遍,加大了编码和维护的工作量

因此,将发送短信、邮件等通知类需求提取出来,成为一个独立部署的通知网关(Notify-Gateway),对外提供发送通知(短信、邮件等)的服务。

需求细化

系统架构

系统架构图

设计思路

设计要点

高性能、高可靠、高可用性保障

VIP

API接口文档

参数 类型 是否必须 备注
mailTo string 收件人邮箱,多个收件人用;分隔,比如1@qq.com;2@qq.com
subject string 主题
content string 内容

- 发送Bearychat消息

URL: http://127.0.0.1:1988/bearychat?msg=%e6%b6%88%e6%81%af

Method:POST Query String

参数 类型 是否必须 备注
msg string 需URL Encode

- 发送SMS

URL: [http://127.0.0.1:1988/sms

Method:POST x-www-form-urlencoded

参数 类型 是否必须 备注
msg string 消息文本
telephones string 手机号,多个手机号用;分隔,比如186XXX;187YYY
string
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注