Frage

Ich bin wirklich Fragen, diese durch proxy, ein anderes team bei der Arbeit hat, hatte eine änderung Anforderung von unseren Kunden.

Das problem ist, dass unsere Kunden nicht wollen, dass Ihre Mitarbeiter, um die Anmeldung mit einem Benutzer mehr als eine zur gleichen Zeit.Sie werden immer gesperrt und sharing-Anmeldungen.

Da dies auf einer web-farm, was wäre der beste Weg, um dieses Problem angehen?

Wäre das nicht Zwischenspeichern der Datenbank verursachen performance-Probleme?

War es hilfreich?

Lösung

Man konnte sich bei einem verteilten cache-system wie memcached

Es wäre zu lösen dieses problem ziemlich gut (es ist VIEL schneller als eine Datenbank), und ist auch hervorragend für die Zwischenspeicherung so ziemlich alles, was zu

Andere Tipps

Es ist nur ein Kosten der Geschäftstätigkeit.

Ja, die Zwischenspeicherung zu einer Datenbank ist langsamer als die Zwischenspeicherung auf Ihrem webserver.Aber Sie haben zu speichern, die Status-Informationen an einem zentralen Ort, sonst wird ein webserver ist nicht zu wissen, welche Benutzer angemeldet sind, in eine andere.

Annahme:Sie versuchen zu verhindern, dass mehrere gleichzeitige log-ins durch einen einzelnen Benutzer.

Eine Datenbank-operation auf den login-und logout wird nicht dazu führen, einem performance-problem.

  • Wenn Sie ein caching-proxy, der wird ein problem verursachen:
  • ein Benutzer sich Abmelden, aber nicht mehr einloggen bis zum ausloggen erreicht cache

Ihre größte potentielle problem sein könnte:

  • wenn Sie die app/box stürzt ab, ohne eine chance, für die sich der Benutzer Abmelden des Benutzers Zustand in der Datenbank bleiben "angemeldet".

Es hängt davon ab, wie die Authentifizierung erfolgt.Wenn Sie speichern Sie die letzten erfolgreichen login datetime (was auch immer das backend), also vielleicht können Sie das schema ändern, zu speichern flag "logged_in" und nicht um eine zusätzliche Leistung kostet.(ok, es ist nicht sauber an alle)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top