Spec-Zone .ru
спецификации, руководства, описания, API

15.7.4.3. Получение Соединения с connect_server()

Когда прокси принимает соединение от клиента 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 таблица.