服务推送

1.定义推送消息格式:

$data['MsgType'] = '' ;  //消息推送类型 1.Event 2,Text 表明是推送一个事件 还是 文本消息数据 ;Event 目前备用给第三方平台,待以后推送,或者是目前推送刷新页面事件;Text 文本数据,弹出框消息

$data['Source'] = '' ;    //来自平台还是产品$data['Event'] = '';    //事件类型

$data['CreateTime'] = '';//消息创建时间,时间戳

$data['ToUserName'] = '';//消息接收方

$data['FromUserName'] = '';//发送方帐号

2.定义推送消息安全性:

从三个方面来讲 

@1.    保证用户唯一性    定义用户UUID和网页多开的ClientId对应的情况

@2.  保证数据加密性  采用pkcs#7加密,保证接收到的数据是加密的,方便为我们的开放平台准备

@3.  保证任何截取到我们推送地址的人无法向我们的服务器推送数据,访问请求token验证

3.定义心跳检测:

从前后端分析 

 @1.前端:定义一个定时器,1分钟向服务器发送一次数据,任意数据,服务器可以知道连接存在。

 @2.后端:定义接收事件:返回一个随意数据

4.定义异常处理机制:

注意:在关键地方Try Catch

服务端异常:

1.端口异常:

2.代码异常:

3.服务异常:Redis服务挂掉

处理机制

前端:针对异常,前端在尝试链接时候,收到错误信息,增大心跳检测时间,等待服务端正常,推送消息之后,再正常请求

后端:服务报警机制:

 >>1.开通钉钉机器人,推送异常消息

 >>2.企业微信发送消息,报告异常

 >>3.服务端配置redis挂掉自动重启机制

 >>4.Redis配置持久化,保证服务挂掉之后,在重启之后数据可以恢复

5.定义前端用户订阅消息类型:

短信,网页推送,邮件,保证用户在平台发生一些事件时,及时知道


服务推送_第1张图片

你可能感兴趣的:(服务推送)