Маршрут от механизма приложений node-js к облачным функциям Google - интеграция облачных функций с App Engine - PullRequest
6 голосов
/ 25 марта 2019

У меня есть веб-приложение NodeJS, работающее в Google App Engine.Также я сопоставил свой собственный домен, скажем, example.com.

У меня есть несколько бизнес-функций (микросервисов), написанных в node.js и развернутых как облачные функции Google в одном и том же Google Project.

Я хочу, чтобы для облачных функций была определена маршрутизация (скажем, function1, function2).

Все запросы, поступающие на example.com/ms/fun1/*, должны идти на function1, а все запросы на example.com/ms/fun2/* - на function2.

Я проверил конфигурацию dispatch.yaml в App Engine, но, похоже, она определена только для сервисов, определенных внутри App Engine.

Пожалуйста, помогите мне достичь вышеуказанного необходимого поведения.

1 Ответ

1 голос
/ 25 марта 2019

Как вы заметили, файл dispatch.yaml можно использовать только для маршрутизации в определенную службу GAE, а не в CF.Никакого другого механизма, предоставляемого Google, для достижения того, чего вы хотите, нет.

Но внутри вашего приложения GAE вы можете зарегистрировать обработчики для тех URL, которые просто вызовут соответствующие CF (вызовут их реальные URL) - именно то, что вы хотите,Но вы, возможно, не сможете воспользоваться потенциально более длительными CF таймаутами - в некоторых случаях GAE могут быть короче, в зависимости от конфигурации среды и / или конфигурации масштабируемости, и их требования должны будут удовлетворяться в этомcase.

Если вы ожидаете, что CF будут вызываться довольно часто, этот подход также может быть немного неэффективным в том смысле, что CF, как правило, дороже, чем GAE (взимается за каждый вызов в противоположностьесли GAE будет взиматься за время безотказной работы экземпляра, независимо от того, сколько вызовов он обрабатывает) - может быть дешевле просто выполнить соответствующие функции в вашем обработчике GAE, возможно, даже переупаковать эти CF как сервисы GAE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...