java websocket开发聊天服务端设计思路

        近来要设计开发一个聊天功能服务端,同时要支持app和和微信小程序,因为微信小程序通信只支持websocket,并且app也能支持websocket协议通信,所以技术方案选择java websocket + activemq。

       之前没有接触过通信方面的开发工作,对这块的技术和业务都不熟悉,写这篇文章是为了捋一捋这个系统的开发思路,接下来我分析一下我目前的实现思路。

        我们需要实现的功能主要就是用户发一问题,我们系统推荐合适的回答者和他建立聊天,实现问题的解答。经过一段时间的查资料和看开源项目,已经通过websocket实现了单人在线聊天和多人在线群聊功能,现在需要处理离线消息和推荐合适的回答者建立聊天两大技术难题。系统主要分为两大功能模块:聊天,用户匹配。聊天这块现在的问题就是离线消息怎么处理,现在想到的是通过activemq中间件,发布队列消息来实现。用户匹配这块问过同学,自己也思考过,说是需要推荐算法,现在第一版觉得使用sql直接去定向查找,主要是考虑到实现的难易程度,和目前系统的用户量不大。

        前面分析了系统开发现存的两大问题,在这里梳理一下系统的整体业务流程。用户登陆系统,提交提问表单,进入付费,调用支付接口,付费成功之后,开始请求推荐系统匹配回答者,调用匹配接口,回答者应答后,双方建立聊天,调用websocket接口,回答者在一段时间内没有做出回应,系统重新匹配回答者,聊天结束之后,断开连接。离线消息使用activemq的消息队列实现。

猜你喜欢

转载自blog.csdn.net/wanghengwhwh/article/details/79807021