中等
技术面试0 次浏览小米有一款社交类产品,需要设计一个消息通知系统,支持实时推送和离线消息存储。请设计该系统的架构,并说明主要模块和它们之间的交互。
小米前端工程师
系统架构设计消息通知
答题要点
采用分层架构分析法。关键要点:一是客户端层,负责接收和展示消息,与用户交互;二是消息推送服务层,实时推送消息给在线用户;三是离线消息存储层,将离线用户的消息存储起来;四是消息处理层,对消息进行分类、过滤等处理;五是各层之间通过接口进行交互,客户端向消息处理层发送请求,消息处理层根据情况调用推送服务或存储服务。示例思路:客户端发起消息请求,消息处理层判断用户是否在线,在线则通过消息推送服务实时推送,离线则存储到离线消息存储层。当用户上线,客户端从离线存储层获取消息。