极光推送:在技术进步的道路上永不止步

极光推送是国内领先的第三方云推送平台,历经多次系统重构后基于ICE打造了高可用云推送平台。ICE作为一种分布式网络中间件,极大提升了研发效率并简化了系统配置与负载均衡等工作。此外,ICE还支持自动化部署及服务管理等功能。

        作为国内领先的第三方云推送平台,极光推送始终坚持在技术进步的道路上永不止步。

在经历了三次大规模系统重构之后,极光推送基于 ICE 打造了高可用云推送平台,在扩容缩容、系统配置集中统一、自动负载均衡等方面实现了更加便利。

但极光推送并不因为有了 ICE 就止步不前。

极光推送认为仅仅ICE是不够的。

ICE是一个分布式的网络中间件,提供了通信层的完全封装,能自动处理网络异常,负载均衡,业务部署等基础性的工作,避免在这些地方重复发明轮子发明轮子作业,省时省力,让研发人员的工作变得更轻松。

实际上北非如此,ICE 是一个中间件,相比原来的开发,基础部分从头开始,重新发明轮子,省时省力,研发工作变得简单。但是,还是需要做一些调整工作,比如负载的调度策略、,计划支持客户端语言选择,以及 ICE 对象的设计。推送系统是多种技术结合的综合体系,需要缓存、,需要数据库、,需要 MQ 等大量的其它技术配合。

下图是 ICE 的体系架构,这个 C/S 架构左边蓝色代码部分,是通过IDL生成的相应平台的接口,各平台下可以直接调用;右边是对应的接口骨架类,用来容纳具体的服务端业务逻辑这个 C/S 架构左边客户端代码蓝色部分,通过生成的结构转成相应平台的接口文件,这个骨架定义了一个方法,对应的服务端也有一个方法,在平台下可以直接调用。

图片1.png

ICE 本身提供的原生服务如 Ice Grid,它可以管理 Glacier2,极光内部服务节点很多都是在内网,如果需要跨网访问的时候要跨外网,不可能把成千上万节点都给它,可以通过这样做一个流量的转发,就是防火墙穿越。

图片2.png 

Ice Patch2 是一个自动化的部署,有点像交付,它提供专用的服务,把 Server 放在这样一个目录结构里面更新一下,重新计算数一下值,然后发通知,所有的节点会全部更新。在更新的过程中,节点可能会停一下或,重启一下。正在处理的请求处理完之后,再重新启动。请求不会在启动和停止之间丢失,因为 ICE 的客户端会把这个请求正常定位到其他正在运行的节点上,客户端的调用是没有感知的。

像 DBAgent、STC、TagAlias 等集群都用到了 ICE,在研发过程中,能节省了不少的精力,例如不需要从 Socket 做起,通过 IDL 简化协议设计,提高效率;扩容缩容方便;不用再专门处理容灾;不同语言之间的差异由框架代劳;系统配置集中统一;自动负载均衡,连接池管理等等。

极光推送始终不忘初心,在用户与负载日益增加的情况下,不断用新的技术保持高效稳定的服务,做国内最专业的开发者服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值