4.5. Использование реверсивных прокси
Для подключения к текущему master кластера Ред Базы Данных можно использовать реверсивные прокси или балансировщики, например Gobetween или HAProxy.
4.5.1. Автоматическая генерация конфигурации Gobetween
Добавлено в v0.4.0.
По-умолчанию, при инициализации кластера cook генерирует конфигурацию для Gobetween в K/V-хранилище Consul, которую можно использовать напрямую из сервиса Gobetween. Например:
gobetween from-consul localhost:8500 --key=service/testcluster/gobetween --scheme=http -f toml
Если позже конфигурацию Gobetween нужно изменить, то это нужно сделать это непосредственно в K/V-хранилище.
4.5.2. Пример конфигурации Gobetween
#-----------------------------------------
# RedDatabase cluster orchestrated by Cook
#-----------------------------------------
[servers.rdb]
bind = "0.0.0.0:3050"
protocol = "tcp"
balance = "iphash"
max_connections = 0
[servers.rdb.discovery]
kind = "consul"
interval = "10s"
consul_host = "consul:8500"
consul_service_name = "rdbcluster"
consul_service_tag = "master"
consul_service_passing_only = true
consul_datacenter = "dc1"
failpolicy = "setempty"
[servers.rdb_events]
bind = "0.0.0.0:3060"
protocol = "tcp"
balance = "iphash"
max_connections = 0
[servers.rdb_events.discovery]
kind = "consul"
interval = "10s"
consul_host = "consul:8500"
consul_service_name = "rdbcluster"
consul_service_tag = "master_aux"
consul_service_passing_only = true
consul_datacenter = "dc1"
failpolicy = "setempty"
4.5.3. Пример конфигурации HAProxy
#-----------------------------------------
# RedDatabase cluster orchestrated by Cook
#-----------------------------------------
frontend rdb
bind *:3050
mode tcp
timeout client 60m
default_backend cook_cluster
backend cook_cluster
option tcplog
option httpchk GET /master
http-check expect status 200
server node1 10.81.0.1:3050 check port 5030
server node2 10.81.0.1:3050 check port 5030