Ich brauche eine Art Proxy zwischen JBoss Applikationserver und MySQL Datenbankservern. Dieser muß transparent sein, weil wir es uns nicht leisten können diese Funktionalitäten in den Applikations-Code zu integrieren, und mehrere Datenbanken auf verschiedenen Servern auf eine Instanz zusammenfassen können. Dabei sollten Connection Pooling, Caching, sicher aber Load Balancing und Failover unterstützt werden.
Eigentlich garnicht tragisch das Ganze, große Teile davon werden bereits von mysql-proxy geliefert, andere Dinge kann sqlrelay. Leider gibt es kein Produkt, weder Open noch Closed Source, auch nicht für alles Geld der Welt, daß das alles zusammen kann. Und diese Tatsache treibt mich gerade in den Wahnsinn, denn damit geht gefühlt ein ganzen Projekt den Bach runter.
Wir haben das Problem, daß die Datenmengen, für die unser Datenbank-Konzept erstellt wurde leider um den Faktor 3 übertroffen wird, wie es derzeit aussieht. Wir sind jetzt etwa einen Monat vor Release und das Problem scheint sich nicht von selbst zu lösen. Basis der Grundkonzepts ist, immer in die Breite zu Wachsen, was bedeutet, daß wir Datenbanken auf mehrere Server verteilen müssen. Die Alternative, mehr Storage, ist unperformant und zudem nicht bezahlbar. Die Tragik ist, daß das von unserer Load Balancing und Failover-Lösung mysql-proxy nicht unterstützt wird. Das Load Balance von mysql-proxy verteilt Per RW-Split Reads auf die Slaves, ohne zu wissen, was da für Datenbanken hinter hängen. Da wir keine uniformen Slaves beibehalten können, sondern (siehe Bild) die Datenbanken unterschiedlich verteilen müssen, sind wir gef***t.

MySQL Concept
Leider hilft uns da auch sqlrelay nicht weiter. Theoretisch deckt sqlrelay zwar die Funktionalität ab, leider funktioniert sqlrelay aber nicht als transparente Schicht, sondern muß in die Applikation integriert werden. Nicht zu akzeptieren.
Also was bleibt? Ich suche nach kommerziellen Load Balancern, die das alles abdecken, konnte bisher aber nichts finden. Sinnige Produkte sind in dem Sektor eh SEHR rar gesät. Ansonsten? RDBMS Wechsel? Ich weiß es nicht. Ich bin etwas verzweifelt.
Posted by admin
Comments