背景:
通过go实现后台聊天服务,主要业务场景是通过服务自动实时加入聊天室并根据特定的时间戳发送响应的聊天消息。
技术点:
IRC服务协议互通,包括网络地址链接、加入聊天室、接受聊天消息、定时发送指定聊天内容、定时更新房间号和加入房间的用户信息等。
服务环境:
开发环境:个人linux开发机
运行环境:测试环境 + 灰度环境 + 线上环境
实现逻辑:
服务定时启动 -> 获取聊天室列表(可配置) -> 定时启动聊天室 -> 获取模拟加入聊天房间的用户信息(包括:姓名、消息内容、消息发送时间戳等) -> 初始化聊天室IRC服务启动 -> 初始化针对每一个聊天室和每一个用户启动定时器并设置相关聊天信息 -> 到达指定时间触发定时器通过IRC聊天服务发送聊天消息。
整个过程会有心跳包检测,同时有一个全局的定时器循环检测是否有新的房间产生并更新数据结构内容,确保实施性。
好了,整体业务背景和相关信息介绍到这里,紧接着下一章我们来开始coding吧。