Ankündigung

Einklappen
Keine Ankündigung bisher.

Usermanagement über mehrere Server

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Usermanagement über mehrere Server

    Hey,

    hab mal ne für einige völlig doofe und für andere (wie mich) recht komplizierte Frage:
    Wir stellen uns eine Webseite vor, auf der sich User anmelden...für was auch immer. Sagen wir mal, damit sie ihr persönliches Fernsehprogramm aus zig Sendern aussuchen können.
    Der Betreiber der Seite denkt "zu Zeiten von Netflix oder Amazon TV braucht das sicher nicht die halbe Welt" und schwups bekommt er 2-3 Herzinfarkte, während er feststellt "Scheiße, 2.4565 Mrd Leute haben sich bei uns angemeldet und der Rechner benimmt sich wie ein C16 beim Laden von einer Datasette. Was machen?
    Ein Rechner kann diese 2.4565 Mrd User nicht handeln. Also müssen mehrere Rechner her.
    Doch die "mehreren Rechner" können ja nun auch nicht die Logindaten von allen Usern verpacken. Ihr merkt wo es hingeht? Availability vs Consistency...
    Her müssen also Gateway Server, die dafür da sind, dass sich die User darüber einloggen und dann auf einen anderne Server verwiesen werden, der grade wenig Last hat.
    Was ich mich da grade frage: Eingelogged hält man den User ja über ne Session. Diese Arbeitsserver hinter den Gateways, die ihre Logindaten von den Gateways und die die Informationsdaten von den Datenbankservern bekommen, müssen ja irgendwie die Session aufrecht erhalten können. Wie zur Hölle läuft das?
    Angepasste Server, die intern Daten austauschen kann ja wegen der Availability nicht sein, denn dann müsste das Login ja warten, bis die Daten verteilt sind.
    Ist ein bisschen eine Noobfrage für die Hardcorenetzwerker und doch zu tough für das Einsteigerforum. Hoffe hier weiß einer eine Antwort.

    Rock on, Dudes!
    Paddy


  • #2
    Ganz simpel z.B. indem die Session in der DB abgelegt wird und ein DBMS nutzt, das Clustering kann.

    Kommentar


    • #3
      Also mit Handshake zwischen Gateway und Lastserver? Wie geht dann der Handshake in Realtime? Der Gateway muss doch mit dem User den Handshake machen, dann müssen die Daten zum Lastenserver und realtime lagged die Seite, weil die auf den Handshake mit dem Lastserver wartet...oder hab ich da was falsch verstanden?

      Kommentar


      • #4
        Hallo,

        ja, Möglichkeit eins ist auf eine Datenbank auszuweichen und mit dessen Hilfe den Login Zustand aufrechterhalten. Man kann z. B. die Session ID von PHP einfach in die Datenbank übernehmen.

        Möglichkeit zwei ist mit Tokens. Man gibt einfach Tokens weiter. Sollte man pro Benutzer einmal generieren (eventuell im Laufe der Zeit neue Tokens wegen der Sicherheit). Sobald man ein passendes Token weitergibt, ist man automatisch angemeldet. Das macht z. B. Twitter und Facebook so. Auch würde ich dir zu einem Anmeldeserver raten, der rein eine Schnittstelle zum An- und abmelden bietet. Natürlich auch noch um Informationen über die Session abzufragen. Alle weiteren Server erfragen dann den Status des Benutzers beim Anmeldeserver.

        An der Stelle sei auch einmal LDAP erwähnt, denn das kann genau das, was gewünscht wird. Man kann dort nebst Benutzername und Passwort auch kleinere Informationen speichern. Außerdem gibt es auch Gruppenrichtlinien.

        Edit: Möglichkeit drei: Ein openID Konto verwenden, dann ist man fein aus der Sache raus...


        MFG derwunner

        Kommentar


        • #5
          Moderation: Verschoben -> Server, Hosting un Workstations

          Cloud Database + Load Balanced Webserver = Problem gelöst
          PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

          Kommentar

          Lädt...
          X