Verbindung im RabbitMQ-server auto verloren, nach 600s
Ich bin mit rabbitMQ server mit amq.
Ich habe ein schwieriges problem. Nach dem verlassen der server allein für etwa 10 min die Verbindung verloren gegangen ist.
Was könnte die Ursache sein?
haben Sie versucht, die Einstellung ein Herzschlag-Wert beim erstellen der Verbindung?
Wie müssen Sie die Einstellung ein Herzschlag Wert?
welchen client benutzt du?
ich bin mit erlang. plz mir helfen, dieses problem zu beheben.
dort war genügend Details in meiner Antwort? bitte lassen Sie mich wissen, wenn es fehlt etwas...
Wie müssen Sie die Einstellung ein Herzschlag Wert?
welchen client benutzt du?
ich bin mit erlang. plz mir helfen, dieses problem zu beheben.
dort war genügend Details in meiner Antwort? bitte lassen Sie mich wissen, wenn es fehlt etwas...
InformationsquelleAutor Hyeongsik | 2013-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Standard-Zeitüberschreitung für die Verbindung zum RabbitMQ connection factory ist 600 Sekunden (zumindest in der Java-client-API), damit Ihr 10 Minuten. Sie können dies ändern, indem Sie die Angabe der Verbindungs-factory Ihr timeout der Wahl.
Es ist gute Praxis, um sicherzustellen, dass Ihre Verbindung freigeben und neu erstellt, nachdem eine bestimmte Menge an Zeit, um zu verhindern, dass eventuelle Leckagen und übermäßige resournces. Ihr code sollte sicherstellen, dass es versucht eine gültige Verbindung, die nicht in der Nähe sein timed-out, und wieder eine neue Verbindung auf diejenigen, die es Taten, time-out. Insgesamt übernehmen ein connection-pooling-Ansatz.
- Java-Beispiel:
Socket.new
. Letztere wird standardmäßig auf 0 == unbegrenzt und wird gesteuert durchfactory.setConnectionTimeout
.InformationsquelleAutor gextra
Wenn man sich die Erlang-client-Dokumentation http://www.rabbitmq.com/erlang-client-user-guide.html finden Sie einen Abschnitt mit dem Titel Verbindung Zu Einem Broker
Diese gibt Sie ein paar verschiedene Optionen, die Sie angeben können, die Sie beim einrichten Ihrer Verbindung zum RabbitMQ-server, eine der Optionen ist die
heartbeat
, wie Sie sehen können die Standardeinstellung ist0
so kein Takt angegeben ist.Ich weiß nicht genau, Erlang-notation, aber Sie müssen etwas tun wie:
Den heartbeat-timeout wird in Sekunden angegeben. Dies würde also dazu führen, Ihre Verbraucher zu Herzschlag wieder auf den server jeder 5seconds.
Werfen Sie auch einen Blick auf diese Diskussion: https://groups.google.com/forum/?fromgroups=#!Thema/rabbitmq-diskutieren/u227xzvqOr8
InformationsquelleAutor kzhen