Visa ett inlägg
Oläst 2012-05-21, 10:52 #9
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Att försöka lösa det problemet genom att hämta från databasen hela tiden är helt fel väg att gå om du vill få någon som helst prestanda i systemet.

För varje "action" (lägga bricka, skriva meddelande) behöver du en skrivning till databasen, men det finns ingen anledning för varje användare att fråga databasen efter ny data precis hela tiden var och en för sig.

Istället skulle du kunna ha en server-applikation som varje klient ansluter till. Varje anslutning premenurerar på olika kanaler. T ex wordgame-2323 eller chatt-2342 (om de nu är skilda). För varje skrivning så skickas även datan till denna server-applikation som skickar meddelandet till alla subscribers över anslutningen som redan är öppen. Det är endast när en helt ny anslutning, eller en disconnect sker, som det finns anledning att hämta allt från databasen. Eventuellt kan också denna server-applikation skicka kompletta spel-informationen för ordspelet varje gång en handling sker - med vettig serialiserad datastruktur rör det sig nog inte om mer än någon eller några kb?

Men vill du absolut inte förändra något i ditt tänk kan du mycket väl lösa det genom mycket sämre prestanda och ökade skalbarhetsproblem genom en anpassad klusterdatabas.
Clarence är inte uppkopplad   Svara med citatSvara med citat