View on GitHub

InChat

一个轻量级、高效率的支持多端(应用与硬件Iot)的可分布式、异步网络应用通讯框架

项目设计思路

设计原则

AOP、DI为主,基于Spring Boot快速搭建,尽量减少用户的二次搭配开发

关于登录

关于InChat统一登录的接口设计,设计针对小程序、APP、Web端的登录作用,所以将作为token的形式登录InChat的WebSocket长连接,用户服务器做sso的认证登录后得到token后直接发送login信息到InChat,用户服务器需要重写InChat中的verifyToken方法校验自己的的Token信息是否有效,正常则启动长连接。考虑到token失效问题,WebSocket长连接的登录仅做初次登录,接下来考虑以心跳形式保持链接状态(pingpong),使用token认证是为保护InChat链接的常规化(目前暂时这样设计后面根据使用情况更改设计)

Image text

离线消息模板

一版采用RabbitMQ—-移除

整体设计

Image text

集群处理设计

Image

目前针对刚刚实现的点对点跨服务器接收发送流程: