我们把我们的系统叫做webpush
设计思路 新连接接入需要获取验证凭证token,验证凭证成为token已。与token对应的是session 是连接的唯一标示 与token不同的是token只用作连接时的验证。session代表唯一websocket连接,可通过sessionId 实现点对点推送。
//推送消息逻辑
步骤(1) web端请求(业务)服务端进行获取连接凭证,业务服务端http请求webpush系统获取凭证。
步骤(2)客户端带着连接凭证进行长连接连接webpush系统
步骤(3) .服务端发送http请求 http 消息处理生成消息放到mq里mq监听消费自己的服务/服务端直接推送mq
步骤(4)netty将收到的消息推送给web端。
用到的中间件
mongo 做消息 token的持久化 消息的持久化
redis做session 缓存
网友评论