Cluster deployment Rasa,but something I can't understand

This is my deploy photo . client use rasa-voice-interface with socket.io to connect to nginx .then nginx proxy to nlu cluster finally nlu connect to action cluster. Main nginx conf is

upstream nlu {
   hash $remote_addr consistent;
   server 127.0.0.1:5005;
   server 192.168.254.18:5005;
}
	location /socket.io/ {
		   proxy_pass http://nlu;
		   proxy_connect_timeout 200s;
		   proxy_read_timeout 300s;
		   proxy_send_timeout 300s;
		   proxy_set_header X-Real-IP $remote_addr;
		   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		   proxy_http_version 1.1;
		   proxy_set_header Upgrade $http_upgrade;
		   proxy_set_header Connection $connection_upgrade;

	}

The client( rasa-voice-interface) is

Vue.use( new VueSocketIO({ debug: true, connection: ‘http://127.0.0.1:17070’, vuex: { store, actionPrefix: ‘SOCKET_’, mutationPrefix: ‘SOCKET_’ } // transports: [‘websocket’] }) );

Now we found something wrong.

  1. if one of my nlu cluster loss(at this moment,have some client connect) and the client with loss connect until connect timeout and with connect to other healthy server. have any good idea to slove it.
  2. when my client is mobile app. such as I create a android app and load rasa-voice-interface’s resources. It always loss the connection. but when I use my android browser it’s ok. maybe it’s something wrong with socket.io. Have any one met the same situation or have any idea. Thanks

你的tracker_store用的是什么,如果你是集群的话,用默认的内存的应该是有问题,你这几台服务器服务器的内存没有共享,用户多轮对话上下文会存在不同的服务器的内存里面,对话可能会重复。 如果是用redis的话 貌似rasa只支持单机版本的redis 不支持redis clust

我用redis 单机,我遇到的问题是集群模式下某台宕机重连有点长,不过不是这个框架问题就是了