使用OpenSIPS时,很多用户仍然对调度和负载均衡有一些迷惑和误解。调度模块和负载均衡模块有一个共同之处-它们都是对呼叫进行分发处理。他们区别如下:
Dispatcher/调度:
无负载目的地端任何信息,仅直接分发
- 仅通过peer做一个概率性的数据路由分发
- 假设所有目的地端是确定的,包括目的地端是正常工作状态
- 处理速度快,无需获得返回消息,完全是一种“盲”或者无状态的处理
Loadbalancer/负载均衡:
- 基于dialog模块,可对目的地端负载计数
- 因为支持能力不同,目的地端可能完全不同(例如,媒体能力,业务功能不同)
- 可收到目的地端的返回消息
- 对目的地端无任何侦测的要求