• Tuckson809
  • Registratie: September 2006
  • Laatst online: 07-07 15:53
Hi

Op dit moment hebben wij een applicatie die een soort van tussenlaag vormt tussen tienduizenden devices. De db heeft slechts 1 tabel met een beperkt aantal velden. Al die devices lezen en schrijven naar de applicatie (een batterij van rond de 20 applicatieservers) die weer naar de db-opstelling doorfietsen. De huidige setup is dat we een master en een slave db op 2 locaties hebben en een mysql management node. Deze opstelling is onhandig, met name in geval van failover.

Waar ik eigenlijk naar zoek is om het cluster zodanig anders op te zetten dat de applicatieservers naar 1 adres lezen/schrijven en dat daarachter de software naar de db schrijft. Dit kan op een mirrored achtige manier zijn of met een actieve db die (liefst hot) te failoveren is, zonder de applcatieservers daar last van hebben. De applicatieservers krijgen elk zo'n 1200 tot 1600 connecties per seconde voor hun kiezen, dus de db moet daarmee om kunnen gaan.

Vragen;
Is mysql hier geschikt voor?
zo ja, wat voor setup zou handig zijn? (mind you, ik ben geen dba)
Zo nee, welk db zou beter werken in dit geval?

  • l1dert
  • Registratie: Oktober 2007
  • Laatst online: 26-08 12:19
Of je mysql of een andere db moet gebruiken hangt af van de soort data en welke prioriteiten je hebt mbt die data. Je zoekt nu een oplossing om de applicatie te verbinden met de juiste database server. Dat kan bijvoorbeeld met een virtueel ip of dns. Als je een centraal systeem hebt waarmee je configuratie kunt beheren zou je dat ook in kunnen zetten.

Meer info over failover bij een master-slave setup is te vinden in documentatie: https://dev.mysql.com/doc...ion-solutions-switch.html Als je makkelijker de failover wil kunnen doen is een master-master opstelling ook een optie. Die kent wel wat limitaties en is niet in alle gevallen eenvoudig uit te rollen.

  • Tuckson809
  • Registratie: September 2006
  • Laatst online: 07-07 15:53
de data is niet zo spannend en bestaat in feite uit vluchtige info en opdrachten voor de devices. Het is wel belangrijk dat de data vlot en zonder haperen beschikbaar is ondanks drukte op de lijnen/servers. Waar ik naar op zoek ben is feitenlijk de meest effieciente manier om dat op te zetten vwb de database. Als ik door een andere soort db te gebruiken veel schaalbaarder wordt of minder hardware nodig heb om waar wat dingen te noemen is dat het overwegen waard. De huidige setup is in ieder geval niet werkbaar genoeg. Ik wil kunnen failoveren e.d. zonder de applcaties allemaal te herstarten. Niet eenmaal, maar meerdere malen achter elkaar en zonder dat daarbij data verloren raakt of corrupt raakt.

Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Je zou eens kunnen kijken naar een MariaDB Galera Cluster opstelling. In principe voldoet dat aan de beschrijving die je hier geeft maar zorg wel dat je ook goed kijkt naar de beperkingen.

Acties:
  • +1 Henk 'm!

  • TweakMDS
  • Registratie: Mei 2002
  • Laatst online: 31-08 18:44
Wat je omschrijft klinkt eigenlijk meer als een message queue. Er is best wel een groot aantal goede gedistribueerde oplossingen voor te vinden met allerlei voor en nadelen. Zo kan ik me voorstellen dat gegarandeerd uitvoeren of prioriteit stellen belangrijk kan zijn.

Als je gaat zoeken is RabbitMQ vaak de eerste hit:
http://www.rabbitmq.com/features.html

Wellicht helpt dit je wat de goede richting op?

[ Voor 13% gewijzigd door TweakMDS op 26-08-2016 22:20 ]


Acties:
  • 0 Henk 'm!

  • lier
  • Registratie: Januari 2004
  • Laatst online: 09:28

lier

MikroTik nerd

Hoe ben je tot de huidige architectuur gekomen? Wat SndBastard terecht opmerkt, klinkt het meer als een message queue. Daar heb je natuurlijk tal van oplossingen voor, onder andere met een Service Bus.

Kan je wat meer achtergrond informatie geven over het systeem?
Mogelijk kan je topic beter verplaatst worden naar Development (in ieder geval is PNS niet de meest logische plek voor deze vraag).

Eerst het probleem, dan de oplossing


Acties:
  • 0 Henk 'm!

  • j-a-s-p-e-r
  • Registratie: December 2004
  • Laatst online: 17-06 21:58
Percona cluster (xtradb) kan dit prima. Is een smaak van mysql(cluster). Ik gebruik het op wat grotere schaal, aantal connecties kan prima (afhankelijk van hardware). Misschien ook wel goed idee om daar wat info in te winnen qua setup/hardware als je geen dba bent, ze doen ook aan consult.
Pagina: 1