Sobes.tech
Middle

Чӣ тавр насб кардани Blue-Green?

sobes.tech AI

Ҷавоб аз AI

Моделиране Blue-Green е стратегия за пускане на нови функции с минимално време на престой, базирана на поддържането на две идентични среди: "синя" (текущата, работеща версия) и "зелена" (новата версия).

Алгоритъм:

  1. Има активна "синя" среда, която управлява целия трафик.
  2. Новата версия на приложението се разгръща в напълно идентично, но неактивно "зелено" среда.
  3. След успешни тестове в "зелено" среда, трафикът се пренасочва към нея.
  4. "Синята" среда се запазва за бърз rollback или може да бъде използвана за бъдещи разгръщания.

Ключови предимства:

  • Минимално време на престой: Превключването на трафика става почти мигновено.
  • Лесен rollback: В случай на проблеми с новата версия, трафикът лесно може да бъде върнат обратно към "синята" среда.
  • По-малък риск: Новата версия се тества в изолирана среда преди да се промени трафика.

Недостатъци:

  • Двойни ресурси: Необходими са ресурси за поддържане на две пълни среди.
  • Управление на състоянието: Може да бъде трудно да се управлява състоянието на приложението, ако то използва база данни с постоянни промени.

Пример за пренасочване на трафика с използване на балансировчик:

// Конфигурация на балансировчика (опростена)
{
  "listeners": [
    {
      "port": 80,
      "protocol": "HTTP",
      "default_actions": [
        {
          "type": "forward",
          "target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN на групата от инстанции на "синята" среда
        }
      ]
    }
  ]
}
# Команда за пренасочване на трафика към "зелена" среда
# (пример за AWS CLI, предполага се наличието на ARN на новата целева група)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN на групата от инстанции на "зелена" среда