2016-07-29 7 views
2

を私は次の行は、サーバログに表示されます見てきました:PUSH-000064は、クライアントの解除に失敗しました - 無効なトピック名またはセレクタ

2016-06-12 11:21:01.524|WARN|Diffusion: InboundThreadPool 
Thread_1|PUSH-000064|Failed to unsubscribe Client Android Client 
d42ca1e21c6d32l6-000000030000016a [email protected] from '!3fga' 
- Invalid Topic name or selector.|com.pushtechnology.diffusion.clients.impl.ClientImp 

私の理解では、クライアントがするトピックから退会しようとしているということです存在しない。

興味深いことに、このログはiOSクライアントでは出力されません。

これは問題を示していますか?もしそうなら、それを引き起こしているのはなぜですか?それはHTTPポーリングクライアントにのみ影響します。

答えて

1

これは、ロードバランサが登録解除要求を間違ったサーバーに中継することによって発生する問題を示します。

あなたはアンドロイドクライアントが1台のサーバーに加入してそのサーバーとセッションを確立していますが、信号が不足しているか、トンネルを経由してアンドロイドクライアントが切断された場合、クライアントは再接続を試みます。再接続するときは、ロードバランサは、クライアントの登録を解除するときに参照しているトピックを理解していない別のサーバーにクライアントを誘導します。

DPTを介して接続する(TCPの上に直接構築された)iOSクライアントは、単一のソケットを開き、接続が不要になるまで接続したままにします。つまり、ロードバランサは一度だけ関与し、これらのクライアントでこの問題が発生することはありません。

Cookie HTTPヘッダーまたは拡散の文書hereに記載されているSticky-IPに基づいたロードバランサでセッションスティッキを使用すると、クライアントは同じサーバーに再接続し、問題は回避されます。

関連する問題