Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда прокси принимает соединение от клиента MySQL, connect_server()
функция
вызывается.
Нет никаких параметров функции, но можно использовать и в случае необходимости управлять информацией в proxy.connection
таблица, которая уникальна для каждого клиентского сеанса.
Например, если у Вас есть многократные серверы бэкэнда, можно определить, какой сервер, который соединение
должно использовать, устанавливая значение proxy.connection.backend_ndx
к
допустимому числу сервера. Следующий код выбирает между двумя серверами, основанными на том, нечетно ли текущее
время в минутах или даже:
function connect_server() print("--> a client really wants to talk to a server") if (tonumber(os.date("%M")) % 2 == 0) then proxy.connection.backend_ndx = 2 print("Choosing backend 2") else proxy.connection.backend_ndx = 1 print("Choosing backend 1") end print("Using " .. proxy.global.backends[proxy.connection.backend_ndx].dst.name)end
Этот пример также выводит на экран IP-адрес / комбинация порта, получая доступ к информации от внутреннего proxy.global.backends
таблица.