美图三年优化总结:Golang实现单机百万长连接服务
随着科技的飞速发展,技术的日新月异,长连接的运用场景日益增多。不仅在后端服务中被广泛运用,比较常见的有数据库的访问、服务内部状态的协调等,而且在App端的消息推送、聊天信息、直播弹字幕等场景长连接服务也是优选方案。长连接服务的重要性也在各个场合被业界专家不断提及,与此同时也引起了更为广泛地关注和讨论,各大公司也开始构建自己的长连接服务。美图公司于2016年初开始构建长连接服务,与此同时,Go在编程语言领域异军突起,考虑到其丰富的编程库,完善的工具链,简单高效的并发模型等优势,使我们最终选择Go去作为实现长连接服务的语言。在通信协议的选择上,考虑到MQTT协议的轻量、简单、易于实现的优点,选择了