您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

使用FreeSWITCH和OpenSIPS实现均衡负载

2017-09-04 09:23:00   作者:james.zhu   来源:asterisk   评论:0  点击:


  均衡负载一直是大规模部署中一个关键技术,关于这个解决方案的话题一直很多。今天,笔者给大家介绍一下最近FreeSWITCH官方发布的一个会议视频-基于FreeSWITHC和OpenSIPS实现均衡负载。事实上,这类官方文档也很多,但是不是非常详细,而且同时能够完全实现图形化管理的文档介绍还是比较缺乏。开发人员在视频会议中讨论了关于均衡负载实现方式,各自解决方案的话题。为了方便中国读者的理解,现在我们整理了一下,把视频会议中所涉及的话题重新做一个梳理:
  FreeSWITCH和OpenSIPs均衡负载的方式
  在目前的FreeSWITCH和OpenSIPS实现均衡负载的手段主要通过load_balancer和dispatcher的方式来实现。当然,这两种方式各有其优缺点,在实现均衡负载时,用户需要根据自己的业务要求来配置所实现的方式。
  视频完整内容:
  因为load_balancer 是stateful 模式,所以可以实现session的很多业务控制,而dispatcher是相对粗放式的一种调度方式,它是stateless的模式,所以有时候对呼叫的管理可能会“失控”,也就是说,它仅负责调度,至于最后呼叫是否接通,它不会负责处理。
  因为,在具体的业务中,大部分的PBX呼叫仍然需要对呼叫流程实现完整的管理,所以在负载处理中,本实验使用的是load_balancer的方式,同时结合了OpenSIPS中的FreeSWITCH模块,从FreeSWITCH推送资源到OpenSIPS处理中心,OpenSIPS根据系统资源,CPU状态,心跳等等事件来对呼叫进行智能分配。
  Load_balancer和dispatcher的优缺点
  在上面的叙述中,笔者已经简单介绍过两种方式的优缺点。这里我们再做一些进一步的介绍。Dispatcher 是一种Stateless 的mode,当然这样的模式可以轻松实现大并发的处理,但是不会对呼叫执行任何控制,没有特定的限制。
  所以这种模式是一种相对松散型的管理模式。而Load_balancer来说,它是stateful的mode,这种模式可以支持SIP回话中的一些数据管理。它也可以实现大并发处理,并且可以对其回话资源进行管理,例如通道,语音,视频等等。如果仅从呼叫数量上来实现均衡负载,也不能真正解决每个FreeSWITCH负载的及时调度,例如如果一个FreeSWITCH正在进行编码转换时,机器的处理能力就会大打折扣。这时,我们需要真正的相关数据来提醒OpenSIPS。


  OpeSIPS 2.3 以上版本支持了FreeSWITCH模块
  这个对FreeSWITCH来说绝对是一个好消息,通过ESL接口可以轻松调用FreeSWITCH数据,然后通过订阅方式轻松传递获取的数据到相应的模块中。
  在此视频介绍中,开发人员使用的是Load_balancer 来实现均衡负载,当然开发人员也提到了这种方式的优势,比如降低了CPU的压力,实现了低呼叫延迟(PDD)。
  注意,这里开发人员比仅仅讨论了基于语音呼叫,同时也讨论了电话会议呼叫和视频会议的呼叫处理方式。事实上,在电话会议或者视频会议呼叫时,用户需要更多注意会议呼叫处理的不同,必须需要添加更多的处理策略来调度视频会议或语音电话会议。因为,毕竟后两种呼叫的用户可能是完全不同的两种用户。


  集成InfluxDB实现实时数据读取
  在OpenSIPS侧,开发人员使用了InfluxDB实现对其数据进行实时分析,从OpenSIPS获取的数据,通过cfg 配置文件中的Timer Route的方式把相关实时数据轻松写入数据库。


  Grafana 实现非常漂亮的动态图形化显示方式
  Grafana 是一款非常卓越的实时动态图形化界面系统,支持多种方式的数据接口,它同时也支持了InfluxDB。用户可以轻松通过界面选择SQL 查询语句来实时显示所需要的数据。在图例中,PDD为黄色的部分表示是低延迟的PDD,这个机器使用的是FreeSWITCH的模块。



  实例文档下载
  根据视频会议人员介绍,OpenSIPS开发人员会把主要的配置文件和其他相关文件上传到官方网站,大家需要下载这些cfg配置文件来运行OpenSIPS和FreeSWITCH。
  以上是开发者会议的整个视频内容的介绍,更多关于此均衡负载解决方案的内容,请大家关注官方网站获取完整的cfg文件来实现或模拟自己的环境。
  获得更多有价值的技术文档和相关动态,请关注微信公众号:asterisk-cn,技术论坛:www.issabel.cn/forum。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题