Как сбалансировать нагрузку нескольких серверов приложений на несколько Vtgates - PullRequest
1 голос
/ 16 марта 2020

Мы делаем ПО C, чтобы доказать, что Vitess может масштабироваться и соответствовать нашим требованиям. Мы используем около 40 серверов приложений, 15 VTGates и 30 шардов (каждый шард содержит master, replica и rdonly). Однако мы смогли масштабироваться до точки и выше этой точки, получая плоскую линию.

Главной темной точкой для нас является подключение сервера приложений и нескольких VTGates. Мы пробовали loadbalancer (AWS nlb) между ними и видели увеличение QPS, но намного более низкое TPS (~ 15000 QPS, ~ 1500-2000 TPS). Затем мы устали каждое приложение использовать пул соединений JDB C для подключения VTGate без loadbalancer. Мы получили аналогичные результаты. Затем мы попробовали без пула соединений. Тогда мы смогли увеличить TPS, но увидели огромные провалы в QPS, которые влияют на TPS.

Как вы можете видеть, мы преодолели определенный блокпост и нуждаемся в нескольких блестящих идеях, чтобы преодолеть это. Действительно ценю ценные материалы  enter image description here

...