Pular para conteúdo

Load Balancer

Listar Load Balancers

Lista todos os Load Balancers da conta.

GET /v1/load-balancer/
$ curl -i https://api.gocache.com.br/v1/load-balancer/ \
-X GET \
-H 'GoCache-Token:seu_token'


{
    "status_code": 1,
    "response": [
        {
        "health": "offline",
        "id": "cdszmwoc",
        "session": true,
        "sessionDuration": 600,
        "sessionShare": "realhost",
        "origins": [
            {
                "host": "3.2.1.4",
                "health": "offline",
                "weight": 0.5
            },
            {
                "host": "exemplo.com.br",
                "health": "offline",
                "weight": 0.5
            }
        ],
        "name": "teste"
        },
        {
        "health": "offline",
        "id": "ptziwlde",
        "session": true,
        "sessionDuration": 300,
        "sessionShare": "realhost",
        "origins": [
            {
                "host": "4.3.2.1",
                "health": "offline",
                "weight": 0.5
            },
            {
                "host": "1.2.3.4",
                "health": "offline",
                "weight": 0.5
            }
        ],
        "name": "Aplicacao-1"
        }
    ]
}

Consultar Load Balancer

Retorna todas as informações de um Load Balancer.

GET /v1/load-balancer/{id}
$ curl -i https://api.gocache.com.br/v1/load-balancer/ptziwlde \
-X GET \
-H 'GoCache-Token:seu_token'


{
    "status_code": 1,
    "response": {
        "backupOrigin": null,
        "health": "offline",
        "healthCheck": {
            "path": "/",
            "interval": "5"
        },
        "session": true,
        "sessionDuration": 1800,
        "sessionShare": "realhost",
        "origins": [
            {
                "host": "4.3.2.1",
                "health": "offline",
                "weight": 0.5
            },
            {
                "host": "1.2.3.4",
                "health": "offline",
                "weight": 0.5
            }
        ],
        "dnsRecords": [
            {
                "name": "app",
                "domain": "sitedeexemplo.com.br",
                "id": 1
            }
        ],
        "name": "Aplicacao-1"
    }
}

Criar um Load Balancer

Cria um Load Balancer.

POST /v1/load-balancer/
$ curl -i https://api.gocache.com.br/v1/load-balancer/ \
-X POST \
-H 'Content-Type: application/json' \
-H 'GoCache-Token:seu_token' \
-d'{"name":"teste","backupOrigin":"1.2.1.2","session":true,"sessionDuration": 300,"sessionShare": "realhost","healthCheck":{"path":"/","interval":5, "statusCode": 200},"dnsRecords":["www.exemplo.com"],"origins":[{"host":"1.2.3.4","weight":1},{"host":"4.3.2.1","weight":1}]}'

Parâmetros

Campo      Opcional Tipo Descrição
name - String Nome único do Load Balancer
origins - Object array Origens do Load Balancer para distribuição do tráfego
 host - String Host da origem, pode ser um ip ou hostname
 weight - Number Peso da origem, esse peso será usado para calcular a porcentagem do tráfego que deve ir para essa origem
healthCheck - Object Informações sobre o healthcheck para definir a saúde das origens
 path - String URI das origens que será acessada pelo healthcheck para definir a saúde delas
 interval - Int Intervalo de tempo em segudos que o healthcheck irá verificar a saúde das origens
 statusCode ✓ Int Status code que é esperado que seja retornado pela origem para definir ela como saudável
backupOrigin ✓ String Host da origem de backup, será acessado apenas caso todas as origens estiverem offline
session ✓ Boolean Ativa ou desativa afinidade de sessão, caso ativo, quando um usuário acessar a sua aplicação, ele irá cair na mesma origem do Load Balancer para garantir que não ocorram problemas de sessão
sessionDuration ✓ Number Define o tempo em segundos que a afinidade de sessão garantirá que o usuário acesse a mesma origem. Valores disponíveis: 300, 600, 900, 1800, 3600, 7200, 14400, 21600, 43200 e 86400. Valor padrão: 600
sessionShare ✓ String Define se a afinidade de sessão deve ser compartilhada por todo o domínio. Valores disponíveis: realhost e hostname. Valor padrão: hostname
dnsRecords ✓ String array Define quais entradas de DNS estarão utilizando o Load Balancer criado
{
    "status_code": 1,
    "response": "lqtmgfqx"
}

Editar um Load Balancer

Edita um Load Balancer.

PATCH /v1/load-balancer/{id}
$ curl -i https://api.gocache.com.br/v1/load-balancer/ptziwlde \
-X PATCH \
-H 'Content-Type: application/json' \
-H 'GoCache-Token:seu_token' \
-d'{"name":"teste","backupOrigin":"1.2.1.2","session":true,"healthCheck":{"path":"/","interval":5, "statusCode": 200},"dnsRecords":["www.exemplo.com"],"origins":[{"host":"1.2.3.4","weight":1},{"host":"4.3.2.1","weight":1}]}'

Parâmetros

Campo      Opcional Tipo Descrição
name ✓ String Nome único do Load Balancer
origins ✓ Object array Origens do Load Balancer para distribuição do tráfego
 host ✓ String Host da origem, pode ser um ip ou hostname
 weight ✓ Number Peso da origem, esse peso será usado para calcular a porcentagem do tráfego que deve ir para essa origem
healthCheck ✓ Object Informações sobre o healthcheck para definir a saúde das origens
 path ✓ String URI das origens que será acessada pelo healthcheck para definir a saúde delas
 interval ✓ Int Intervalo de tempo em segudos que o healthcheck irá verificar a saúde das origens
 statusCode ✓ Int Status code que é esperado que seja retornado pela origem para definir ela como saudável
backupOrigin ✓ String Host da origem de backup, será acessado apenas caso todas as origens estiverem offline
session ✓ Boolean Ativa ou desativa afinidade de sessão, caso ativo, quando um usuário acessar a sua aplicação, ele irá cair na mesma origem do Load Balancer para garantir que não ocorram problemas de sessão
sessionDuration ✓ Number Define o tempo em segundos que a afinidade de sessão garantirá que o usuário acesse a mesma origem. Valores disponíveis: 300, 600, 900, 1800, 3600, 7200, 14400, 21600, 43200 e 86400. Valor padrão: 600
sessionShare ✓ String Define se a afinidade de sessão deve ser compartilhada por todo o domínio. Valores disponíveis: realhost e hostname. Valor padrão: hostname
dnsRecords ✓ String array Define quais entradas de DNS estarão utilizando o Load Balancer criado
{
    "status_code": 1,
    "response": true
}

Remover um Load Balancer

Remove um Load Balancer.

DELETE /v1/load-balancer/{id}
$ curl -i https://api.gocache.com.br/v1/load-balancer/ptziwlde \
-X DELETE \
-H 'GoCache-Token:seu_token'


{
    "status_code": 1,
    "response": true
}