声网提供消息通知服务,用于实时同步融合 CDN 直播业务中的频道状态。
开通消息通知服务后,当订阅的事件发生时,声网业务服务器会将事件消息发送给声网消息通知服务器,然后 Agroa 消息通知服务器会通过 HTTPS POST 请求方法将事件通知投递给你的服务器。
如果你的网络环境部署了防火墙,请将声网消息通知服务器的 IP 地址添加到白名单,以正常使用声网消息通知服务。详见查询消息通知服务器的 IP 地址。
你需要联系 sales@agora.io 并提供以下信息开通消息通知服务。
希望开通消息通知服务的业务,即融合 CDN 直播业务。
希望监听的事件,详见融合 CDN 直播事件类型。
如需配置 QPS (Query Per Second) 较高的事件,请确保你的服务器有足够的处理能力。
接收消息通知的 HTTPS 服务器地址。
MaxKeepAliveRequests
:大于等于 100。KeepAliveTimeout
:大于等于 10 秒。你的消息通知接收服务器所在的区域。声网会根据你提供的区域就近接入声网节点服务器。目前,声网消息通知服务器部署在以下区域:
cn
:中国sea
:东南亚na
:北美eu
:欧洲为提高通信安全,声网消息通知服务使用签名机制验证身份。配置消息通知服务时,声网为你生成用于验证签名的密钥(secret),你需要向声网技术支持获取并保存这个密钥。关于如何使用密钥验证签名,详见验证签名。
配置完成后,你可以让声网技术支持帮你测试该配置。如果测试成功,即可正式开通该服务。
成功开通声网消息通知服务后,当订阅的事件发生时,声网消息服务器会以 HTTPS POST 请求的形式向你的服务器发送消息通知回调。详见融合 CDN 直播事件回调。
接收到消息通知回调后,你的服务器需要在 10 秒内对声网消息服务器作出响应。响应包体格式为 JSON,包体内容不作要求。
声网消息服务器发送通知后的 10 秒内,如果没有收到你的服务器的响应或响应状态码不是 200,会认为消息通知失败。失败后,声网消息通知服务器会立即重新发送消息通知,投递间隔随着重试次数的上升逐渐增加,直到第一次投递的 30 分钟后停止投递。
如果你的消息接收服务器受防火墙限制,你需要调用 RESTful API 查询声网消息通知服务器的 IP 地址并将获取到的所有 IP 地址都添加到防火墙白名单。
声网可能会调整消息通知服务器的 IP 地址。因此,强烈推荐你至少每 24 小时进行一次查询,并自动更新防火墙配置,否则可能会影响你接收通知。
https://api.sd-rtn.com/v2/ncs/ip
Authorization
:你需要使用声网提供的客户 ID和客户密钥,以及 Base64 算法生成一个凭证,并填入 HTTP 请求头部的 Authorization
字段。详见实现 HTTP 基本认证。
该 API 无包体参数。
请求成功时,响应包体的示例如下:
{
"data": {
"service": {
"hosts": [
{
"primaryIP": "xxx.xxx.xxx.xxx"
},
{
"primaryIP": "xxx.xxx.xxx.xxx"
}
]
}
}
}
字段含义:
primaryIP
:声网消息通知服务器的 IP 地址。收到响应时,你仅需关心该字段,并将 IP 地址(或 IP 地址列表)添加到白名单中。