# push **Repository Path**: guda/push ## Basic Information - **Project Name**: push - **Description**: push - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 5 - **Created**: 2015-10-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README guda-push 是基于 UDP 的推送系统。 ===== guda-push 专注 Android 和 iOS 推送。针对耗电量,流量在协议,消息传输方式上做了优化。 特性: 1)基于udp,不采用长连接是因为app在手机上活动时间每天可能就2,3个小时,90%处于空闲状态,而长连接不仅占用服务端资源,而且随着手机网络切换,重建连接,维持心跳都耗费不少资源。 2)连接层和业务层解耦,并可独立部署,在运维升级时,可分别独立重启发布,提高服务端的可用性,可靠性。 3)传输协议采用TLV,可读性差,但是性能不错,可以媲美protobuf 还只是一个雏形,目前实现的功能有 1)服务端 已完成功能:编解码,在线状态维护,心跳,点对点发送信息,ack确认,失败重试机制 待完善功能:解耦集群支持。 2)Andoid 客户端demo