【技术实现步骤摘要】
一种SIP动态负载均衡方法、系统、设备和存储介质
[0001]本专利技术属于通信
,尤其涉及一种SIP动态负载均衡方法、系统、设备和存储介质。
技术介绍
[0002]SIP(Session Initiation Protocol,会话初始协议)是一个基于文本的,用于多方多媒体通信的应用层信令控制协议。SIP独立于底层传输协议,用于建立、修改和终止IP网上的双方或多方多媒体会话,是在基于IP的网络中,实现实时通信应用的一种信令协议。SIP消息有两种:客户端到服务器的请求和服务器到客户端的响应。
[0003]客户端到服务器的请求中,当手机端发来消息时,经由SIP接入等模块,SIP负载均衡服务Opensips接收消息,并将不同的消息类型和负载均衡给对应的服务模块处理。传统的Opensips是根据路由脚本为微服务提供负载均衡能力,但在云原生环境下,信令层消息接收微服务需要遵循12
‑
factors方法论,采用Deployment的无状态类型部署,依赖不变的路由脚本是不可行的,主要有以下两点原因:1.微 ...
【技术保护点】
【技术特征摘要】
1.一种SIP动态负载均衡方法,其特征在于,包括:读取Opensips的IP地址、数据库mariadb的服务名称、以及要监控的所有微服务的名称;获取mariadb的密码;根据mariadb的密码连接mariadb数据库;启动kubernetes controller监控业务以监控所有endpoints的变化;如果监控到任何endpoint的变化,则将变化的endpoint与配置中的微服务名称进行匹配;获取匹配成功的微服务的endpoint指针并追加至workQueue工作队列尾部;解析workQueue的任务中微服务endpoint信息。2.根据权利要求1所述的SIP动态负载均衡方法,其特征在于,所述启动kubernetes controller监控业务以监控所有endpoints的变化之前包括初始化kubernetes controller模块。3.根据权利要求1所述的SIP动态负载均衡方法,其特征在于,所述解析workQueue的任务中微服务endpoint信息,包括:判断当前更新的类型;如果当前更新的类型为增加或更新endpoint,则更新新增加或更新的endpoint的IP信息,并且状态enable;如果新增加或更新的endpoint没有更新IP信息,或状态非enable,继续处理下一个任务;如果当前更新的类型为删除endpoint,则连接mariadb数据库,删除对应微服务的路由信息;在mariadb数据库中添加新增条目并记录endpoint的IP、端口信息;发送HTTP消息以触发Opensips更新负载均衡路由;如果当前更新的类型为不支持的其他类型,继续处理下一个任务。4.根据权利要求3所述的SIP动态负载均衡方法,其特征在于,所述如果当前更新的类型为增加或更新endpoint,则更新新增加或更新的endpoint的IP信息,并且状态enable,包括:连接mariadb数据库,删除对应微服务的路由信息;在mariadb数据库中,添加新增条目并记录endpoint的IP、端口信息;发送HTTP消息以触发Opensips更新负载均衡路由信息。5.一种SIP动态负载均衡系统,其特征在于,包括:读取模块,用于读取Opensips的IP地址、数据库mariadb的服务名称、以及要监控的所有微服务的名称;第一获取模块,用于获取mariadb的密码;连接模块,用于根据mariadb的密码连接...
【专利技术属性】
技术研发人员:颜凤辉,王斌,杨戉,夏增武,夏建明,盛振明,刘毅,
申请(专利权)人:中电信数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。