发布于 2018-09-04 23:44:16
Licode在不使用它之后不会下降,它有时间同步问题。因为它是一个具有微服务架构的基于云的应用程序,所以所有服务都使用CloudHandler作为注册/发现服务。服务通过rabbitmq将keep-alive消息发送到云处理程序,云处理程序通过check-keep-alive消息检查它们。两个事件之间的时间没有正确定义,它们之间的超时也没有正确定义。
当Licode启动时,Erizo控制器事件开始变得过于接近(由于计算时间),以至于check-keep-alive事件发生在keep-alive事件之前,因此云处理程序只是从其数据库中删除了erizo控制器,这会导致整个应用程序崩溃。
请记住,这并不完全正确,因为云处理程序在移除控制器之前进行了n次检查(n在licode_config.js中定义),但时间超过了间隔时间的n倍
改善这一点的一种方法是检查保持活动时间间隔和检查保持活动事件之间的超时( -Increase -Increase
您可以在cloudHandler.js和licode_config.js中找到这些参数
希望能有所帮助
https://stackoverflow.com/questions/48386127
复制相似问题