Como configurar múltiplas origens com algoritmos de balanceamento de carga

Quando você cria uma edge application, você precisa definir uma origem. No entanto, infraestruturas mais complexas e robustas podem precisar de múltiplas origens para a mesma aplicação. O módulo Load Balancer permite que você use algoritmos de balanceamento de carga para gerenciar altos números de acesso e controlar os comportamentos de sua origem.

Os seguintes passos irão descrever um caso de uso onde a default origin deve ser do tipo Load Balancer com o algoritmo Round Robin. Sinta-se à vontade para interpretar e modificar as instruções passo a passo de acordo com o seu caso de uso específico.

As seguintes regras de negócio de diferentes servidores de origem devem ser configuradas com balanceamento de carga:

  • A aplicação deve ter três origens.
    • O servidor primário deve ter uma maior capacidade de carga.
    • O servidor secundário deve ter uma capacidade de carga média, suficiente para lidar com grandes picos de tráfego de entrada.
    • O servidor de backup deve ter uma baixa capacidade de carga e só deve ser ativo em circunstâncias especiais.
  • Cada um desses servidores deve ser hospedado em um provedor de armazenamento ou serviço de nuvem diferente, já que as falhas de servidor não ocorrem frequentemente ao mesmo tempo.
  • Todas as origens devem conter o mesmo conteúdo e ser configuradas da mesma forma para a edge application.

Portanto, as configurações necessárias são:

OrigemFunçãoEndereçoCapacidade de cargaStatus
1Servidor primárioexample.comAlta capacidade de cargaDeve estar sempre ativo.
2Servidor secundárioexample.netCapacidade de carga médiaDeve estar sempre ativo.
3Servidor de backupexample.orgBaixa capacidade de cargaDeve estar ativo apenas em caso de manutenção ou picos de tráfego.

Primeiro, para habilitar o módulo Load Balancer:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e então selecione Edge Application.
  3. Clique na edge application para a qual você quer configurar uma nova origem com balanceador de carga.
  4. Na aba Main Settings, em Modules, ative o Load Balancer.
  5. Clique no botão Save.

Para modificar a origem de acordo com o cenário descrito acima:

  1. Selecione a aba Origins.
  2. Na aba Origins, clique na Default Origin da lista.
  3. Dê um nome para sua nova origem.
  4. Em Origin Type, selecione Load Balancer.
  5. No campo Method, selecione Round Robin.
  6. No primeiro campo Address, especifique o servidor primário. Por exemplo, example.com.
  7. Como esta origem tem uma maior capacidade de carga, no campo Weight, adicione um peso de 3 para esta primeira origem.
  8. No campo Server Role, mantenha Primary selecionado.
  9. Mantenha esta origem Active.
  10. Adicione outra origem clicando no botão +.
  11. No segundo campo Address, especifique o servidor secundário. Neste caso, example.net.
  12. Devido à sua menor capacidade, no campo Weight, adicione um peso de 2 para esta origem.
  13. No campo Server Role, selecione Primary. Esta origem tem um valor de peso menor, a origem preferida para conexões será a primeira.
  14. Mantenha esta origem Active.
  15. Adicione uma terceira origem clicando no botão +.
  16. No campo Address, especifique a origem de backup. Neste caso, example.org.
  17. Mantenha o campo Weight em branco. Ele assumirá um valor padrão de 1.
  18. No campo Server Role, selecione Backup.
  19. Desative esta origem desligando o interruptor Active.
  20. Clique no botão Save.

Aguarde alguns minutos para que as mudanças se propaguem. Em seguida, acesse sua aplicação ou use a linha de comando para fazer uma requisição e verificar se as mudanças foram feitas.


  1. Execute a seguinte requisição GET em seu terminal, substituindo [TOKEN VALUE] pelo seu personal token e a variável <edge_application_id> pelo ID da sua edge application para recuperar a <origin_key> da sua origem padrão, que é um valor UUID:
Terminal window
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id> \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]'
  1. Você receberá uma resposta semelhante a esta:
{
"results": {
"origin_id": <origin_id>,
"origin_key": "<origin_key>",
"name": "Default Origin",
"origin_type": "single_origin",
...
}
}
  1. Copie o valor <origin_key>.
  2. Execute a seguinte requisição PATCH para modificar a origem padrão como segue, substituindo a chave e o id da aplicação na URL:
Terminal window
curl --location --request PATCH 'https://api.azionapi.net/edge_applications/<edge_application_id>/origins/<origin_key>' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
"name": "Default Origin RR3",
"origin_type": "load_balancer",
"addresses": [
{
"address": "example.com",
"weight": 3,
"server_role": "primary",
"is_active": true
},
{
"address": "example.net",
"weight": 2,
"server_role": "primary",
"is_active": true
},
{
"address": "example.org",
"weight": 1,
"server_role": "backup",
"is_active": false
}
],
"host_header": "${host}",
"method": "round_robin"
}'
  1. Você receberá uma resposta semelhante a esta, confirmando que as mudanças foram feitas:
{
"results": {
"origin_id": <origin_id>,
"origin_key": "<origin_key>",
"name": "Default Origin (RR3)",
"origin_type": "load_balancer",
"addresses": [
{
"address": "example.com",
"weight": 3,
"server_role": "primary",
"is_active": true
},
{
"address": "example.net",
"weight": 2,
"server_role": "primary",
"is_active": true
},
{
"address": "example.org",
"weight": 1,
"server_role": "primary",
"is_active": false
}
]
"host_header": "${host}",
"method": "round_robin"
...
}
}
  1. Aguarde alguns minutos para que a propagação ocorra.

Contribuidores