Linux/BSD服务端开发
一、需求描述
类别:即时通信软件【服务端开发】
进度:已经有产品文档、界面原型图,需要技术开发。
功能:类似微信和telegram的即时通信软件,用户端分为消息/通讯录/我的三个主要界面,支持私聊/群聊,支持发送文字消息/语音消息/表情/图片/视频/文件(不需要语音和视频通话功能)。好友管理/群管理/权限管理/后台管理等功能。
技术:支持在Linux/BSD系统运行,对性能要求很高,要求支持万人大群,所以对并发要求很高,要求服务端用erlang开发。
高可用性的架构设计,支持横向拓展,在容错性和性能上做好顶层设计,可以根据运营需求随时拓展服务器。
通信协议设计达到省电量省流量的目的。
支持同一用户多端登录,多端消息实时同步。
支持同一设备多用户登录和同时在线。
支持实时消息收发和离线消息同步,离线消息同步高并发时用户端不卡顿。
支持离线消息推送,使用自有推送服务器和API。
消息支持发送失败/已发送/已送达/已阅读四种状态。
支持收发文本消息/语音消息/表情/图片/视频/文件。
独立的文件服务器,确保图片和视频收发速度,支持高清图片和视频的收发,预加载技术确保用户的浏览体验。
要求消息不丢失,完善的消息重发机制,消息到达正确排序,消息量并发大了消息列表和对话窗口不卡顿。
二、人才要求
十年以上erlang开发经验,熟悉Linux/BSD下的服务端开发。
具有即时通信服务端开发的成熟经验,熟悉TCP/UDP/HTTP/SOCKET等协议,熟悉即时通信协议的设计和优化,熟悉二进制协议(非文本协议),能自己开发一套专属二进制协议,熟悉TLS,熟悉在消息收发异常处理中设计补偿机制。
三、参考产品
微信/telegram
四、合作方式
开发方式:远程开发
开发周期:30-60天
五、预算
15000元