2017/05/20 13:07 IT产业网
作为国内领先的第三方云推送平台,极光推送始终坚持在技术进步的道路上永不止步。
在经历了三次大规模系统重构之后,极光推送基于 ICE 打造了高可用云推送平台,在扩容缩容、系统配置集中统一、自动负载均衡等方面更加便利。
但极光推送并不因为有了 ICE 就止步不前。
极光推送认为仅仅ICE是不够的。
ICE是一个分布式的网络中间件,提供了通信层的完全封装,能自动处理网络异常,负载均衡,业务部署等基础性的工作,避免在这些地方重复发明轮子,省时省力,让研发人员的工作变得更轻松。
但是,还是需要做一些调整工作,比如负载的调度策略、计划支持客户端语言选择,以及 ICE 对象的设计。推送系统是多种技术结合的综合体系,需要缓存、需要数据库、需要 MQ 等大量的其它技术配合。
下图是 ICE 的体系架构,这个 C/S 架构左边蓝色代码部分,是通过IDL生成的相应平台的接口,各平台下可以直接调用;右边是对应的接口骨架类,用来容纳具体的服务端业务逻辑。
ICE 本身提供的原生服务如 Ice Grid,它可以管理 Glacier2,极光内部服务节点很多都是在内网,如果需要跨网访问的时候要跨外网,不可能把成千上万节点都给它,可以通过这样做一个流量的转发,就是防火墙穿越。
Ice Patch2 是一个自动化的部署,有点像交付,它提供专用的服务,把 Server 放在这样一个目录结构里面更新一下,重新计算数值后发通知,所有的节点会全部更新。在更新的过程中,节点可能会停一下或重启。正在处理的请求处理完之后,再重新启动。请求不会在启动和停止之间丢失,因为 ICE 的客户端会把这个请求正常定位到其他正在运行的节点上,客户端的调用是没有感知的。
像 DBAgent、STC、TagAlias 等集群都用到了 ICE,在研发过程中能节省不少精力,例如不需要从 Socket 做起,通过 IDL 简化协议设计,提高效率;扩容缩容方便;不用再专门处理容灾;不同语言之间的差异由框架代劳;系统配置集中统一;自动负载均衡,连接池管理等等。
极光推送始终不忘初心,在用户与负载日益增加的情况下,不断用新的技术保持高效稳定的服务,做国内最专业的开发者服务。
榜单收录、高管收录、融资收录、活动收录可发送邮件至news#citmt.cn(把#换成@)。