Управление API на Google Cloud Platform - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в Google Cloud Platform и ищу решение для работы с API в различных средах.

В настоящее время у меня есть имя домена API (например, api.company.com), сопоставленное с балансировщиком нагрузки GCP, который затем распределяет запросы в компьютерные системы Google. Все это настраивается в одном проекте GCP, который является средой prod1.

Я хочу создать другую среду prod под названием prod2 в качестве другого проекта. Вместо переключения DNS я ищу способ, с помощью которого я могу легко перенаправить api.company.com на prod2, а также поддерживать конечные точки, отличные от publi c, для backend apis.

Могу ли я использовать Google CloudEndpoints для этого этот? В идеале я хотел бы настроить это в отдельном проекте, который затем может получить доступ к балансировщикам нагрузки prod1 и prod2? Если это возможно, могу ли я столкнуться с балансировщиками нагрузки, отличными от publi c?

Любые рекомендации или советы по передовой практике были бы очень признательны.

1 Ответ

0 голосов
/ 07 мая 2020

Сегодня, я думаю, не существует продукта GCP, который позволил бы сделать это легко.

Cloud Endpoint имеет 2 проблемы:

  • Вы не можете определить подстановочный знак пути. Я имею в виду, если вы определите /path -> prod 1; и вы вызываете /path/customer, ваш запрос не будет перенаправлен, потому что /path/customer не определен. В конце вы должны определить все свои пути к Cloud Endpoint
  • . А вот и вторая проблема: на данный момент вы не можете агрегировать несколько файлов API spe c. Поэтому вам нужно будет поддерживать 1 глобальный файл для Prod и для ваших тестов, с риском неправильного обновления и сбоя в производстве.

Необязательно, вы можете представить эту архитектуру как обходной путь

  • Разверните вычислительный движок в другом проекте (prod2) для обслуживания вашего тестового API
  • Создайте VP C пиринг между двумя проектами
  • Создайте другой маршрут в балансировщик нагрузки prod1 проект для доступа к одноранговой сети prod2

Я никогда не пробовал такую ​​архитектуру, но она должна работать.

...