分布式IVR,即指多个IVR应用按负载分担方式分布式运行,对外呈现为统一的IVR资源,服务资源统一调度,业务统一管理。分布式IVR可以部署在资源池上,实现资源动态伸缩、动态容灾。多个IVR节点不受地域限制,可以分布在不同的地点。分布式IVR架构如图10-6所示。分布式IVR要求包括以下几点。
(1)动态负载分担
多个IVR间采用话务动态负载分担的方式运行。话务的分发根据各IVR节点中当前的运行情况来决定话务分发到哪个IVR。
分发策略可以为:按比例分发、按消息源IP地址分发、按被叫号码分发、按主叫号码分发、按请求消息的渠道类型分发等。
(2)统一运营管理
支持对多IVR节点数据统一配置,统一展现日志报表。
(3)动态容灾
当某个IVR节点发生故障时,自动将新的话务分配到其他正常运行的IVR节点上。
(4)资源动态伸缩
系统实时感知各IVR节点的运行情况和负载情况。当某个节点负载过高时,系统将自动向资源池申请资源及虚拟机,并自动安装部署IVR应用,从而实现资源的动态扩展。
当系统感知多个节点负载过轻时,系统将自动控制其节点进入休眠状态,并将该节点回收到资源池中,从而实现资源的动态收缩。