2016-06-22 13 views
0

Jeder Sidekiq-Worker (Thread) benötigt 1 Verbindung zur Datenbank. Postgresql kann höchstens einige hundert Verbindungen haben. Dies ist ein Engpass für die Skalierbarkeit.Ausführen von Sidekiq-Mitarbeitern ohne Datenbankverbindung

Da brauche ich etwa 1 Tausend Arbeiter und Postgresql ist nicht erforderlich (Ich kann alle Daten, die ich brauche über Redis und die SQL entfernen) Ich frage mich, ob es möglich ist, die Rails-Umgebung ohne Verbindungen zu Postgresql zu starten.

Wie kann ich Sidekiq Arbeiter ohne Postgresql starten?

Beachten Sie, dass ich noch Postgresql für die normale Webanwendung/Backend benötige, damit ich ActiveRecord nicht vollständig aus der Rails App entfernen kann.

+1

Jeder Prozess tut, aber nicht thread. Wenn ein Thread die Verbindung nicht nutzt - er wird es nicht aus dem Pool nehmen – Vasfed

Antwort

1

Wenn ein Thread die Datenbank nicht verwendet, wird keine Verbindung hergestellt. Diese Annahme ist falsch:

Jeder Sidekiq-Worker (Thread) benötigt 1 Verbindung zur Datenbank.

+0

Direkt vom Autor ... Danke! Ich dachte, dass jedes Mal, wenn ein Thread spawnte, eine Verbindung aus dem Pool genommen wurde. – collimarco