Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbindungspool-Strategie:Gut, schlecht oder hässlich?

Ihr ursprüngliches Design basiert auf soliden Prinzipien. Wenn es in Ihrem Fall hilft, ist diese Strategie als horizontale Partitionierung oder Sharding bekannt . Es bietet:

1) Größere Skalierbarkeit – da jeder Shard bei Bedarf auf separater Hardware leben kann.

2) Höhere Verfügbarkeit – da der Ausfall eines einzelnen Shards keine Auswirkungen auf die anderen Shards hat

3) Höhere Leistung - da die durchsuchten Tabellen weniger Zeilen und daher kleinere Indizes haben, was zu schnelleren Suchen führt.

Der Vorschlag Ihres Kollegen führt Sie zu einem Single-Point-of-Failure-Setup.

Was Ihre Frage zu 3 Verbindungspools der Größe 10 im Vergleich zu 1 Verbindungspool der Größe 30 betrifft, so lässt sich diese Debatte am besten mit einem Benchmark lösen. Konfigurieren Sie Ihre App auf jede Weise, führen Sie dann einige Stresstests mit ab (Apache Benchmark) durch und sehen Sie, welche Methode besser abschneidet. Ich vermute, dass es keinen signifikanten Unterschied geben wird, aber machen Sie den Benchmark, um es zu beweisen.