JBoss & failover database ervaringen

Pagina: 1
Acties:

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:27
Ik ben bezig met een onderzoek naar de mogelijkheden om in JBoss een failover database server te gebruiken. De bedoeling is dus dat als de primaire database server er de brui aan geeft er JBoss automatisch overschakeld naar de secundaire database server.
Hiervoor heb ik lokaal 2 MySQL servers en een JBoss server neergezet, en de JBoss server volgens deze wiki geconfigureerd. Vervolgens heb ik een kleine testapplicatie geschreven die elke x ms een object in de database opslaat. Dit gaat redelijk, als ik een MySQL server proces kill dan wordt er inderdaad automatisch overgeschakeld naar de secundaire server. Vervolgens ging ik het interval verkleinen, en rond de 300ms zie ik dat ik records ga "missen": als ik 50 objecten heb geprobeerd op te slaan, staan er in de primaire server 36 en in de secundaire 13. Hoe kleiner ik het interval maak hoe meer records ik mis.
Ik weet dat het een experimentele functionaliteit van JBoss is, dus als het niet werkt dan werkt het niet en kan ik daar ook wel mee leven, maar ik ben toch nieuwsgierig of er andere mensen zijn die hier ervaring mee hebben.

Ik weet niet zeker of dit het juiste subforum is overigens..

Roomba E5 te koop


  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 16:39

JaQ

sig69 schreef op donderdag 07 december 2006 @ 10:57:
Ik weet dat het een experimentele functionaliteit van JBoss is, dus als het niet werkt dan werkt het niet en kan ik daar ook wel mee leven, maar ik ben toch nieuwsgierig of er andere mensen zijn die hier ervaring mee hebben.
Ik heb wel ervaring met een vergelijkbare setup i.c.m. een j2ee applicatie draaiend in een Oracle AS en een Oracle RAC database. Deze optie wordt daar TAF (Transparent Application Failover) genoemd en werkt op een vergelijkbare manier. Enige verschil is dat er in mijn situatie 2 database instances zijn, ipv 2 databases (oftewel: beide instances kijken naar dezelfde data).

Helaas heb ik tot op heden nog geen exacte cijfers over hoeveel records ik mis bij het overfailen van database node 1 naar node 2. Voor zover ik nu heb kunnen meten gaat inserten en selecteren prima (en naadloos, dus zonder missende records). Wel heb ik ontdekt dat de databasesessie sterft (en het statement dus niet wordt uitgevoerd) op het moment dat ik een update uitvoer en tegelijkertijd laat overfailen. Een sessie waarin enkel selects of inserts plaatsvinden sterft dus niet. Dit is wel af te vangen op applicatief niveau, maar is toch naar.

Zelf ben ik geen ontwikkelaar, maar DBA (met focus op applicatieservers). Ik heb van de ontwikkelaars wel begrepen dat er e.e.a. aan extra programmeerwerk zit in het fatsoenlijk laten functioneren van het TAF principe. Hier is binnen de oracle documentatie voldoende info over beschikbaar, dus het koste enkel extra tijd.

Egoist: A person of low taste, more interested in themselves than in me