1. Инфраструктура gRPC позволяет мобильному приложению напрямую вызывать методы в серверной службе, как если бы это был локальный объект. Вы можете использовать gRPC, чтобы сделать ваше мобильное приложение более эффективным с точки зрения пропускной способности и уменьшить задержку между вашим приложением и серверной службой, работающей на Google Cloud Platform.
Чтобы настроить серверную часть grpc с прокси-сервером-посланником, мы должны использовать балансировку сетевой нагрузки, балансировка сетевой нагрузки принимает входящие запросы из Интернета (например, от мобильных клиентов или потребителей услуг за пределами вашей компании). Балансировка сетевой нагрузки выполняет следующие задачи. Балансировщик нагрузки выполняет входящие подключения к рабочим узлам в пуле. Трафик направляется в службу Kubernetes Envoy, которая предоставляется на всех рабочих узлах в кластере. Сетевой прокси Kubernetes перенаправляет эти подключения модулям, на которых запущен Envoy. Выполняет HTTP-проверки работоспособности рабочих узлов в кластере. Envoy выполняет следующие задачи: Завершает соединения SSL / TLS. Обнаруживает модули, на которых работают службы gRPC, запрашивая внутреннюю службу DNS кластера. Маршрутизирует и распределяет трафик к сервисным модулям gRPC. Выполняет проверки работоспособности служб gRPC в соответствии с протоколом проверки работоспособности gRPC. Предоставляет конечную точку для проверки работоспособности с помощью балансировки сетевой нагрузки.
Сервисы gRPC (echo-grpc и reverse-grpc) представлены как безголовые сервисы Kubernetes. Это означает, что IP-адрес кластера не назначается, а сетевой прокси Kubernetes не распределяет нагрузку на поды. Вместо этого в службе DNS кластера создается запись DNS A, содержащая IP-адреса модуля. Envoy обнаруживает IP-адреса модуля из этой записи DNS и распределяет нагрузку между ними в соответствии с политикой, настроенной в Envoy.
Чтобы разместить посланника:
Создайте Kubernetes ConfigMap для хранения файла конфигурации Envoy (envoy.yaml) kubectl apply -f k8s / envoy-configmap.yaml
Создайте развертывание Kubernetes для Envoy: kubectl apply -f k8s / envoy-deployment.yaml
Убедитесь, что запущены два модуля посланников: kubectl get Deployment envoy
Для дальнейшего чтения перейдите по ссылке ниже: https://cloud.google.com/architecture/exposing-grpc-services-on-gke-using-envoy-proxy
Для получения дополнительной информации о настройке внутреннего сервера Grpc для мобильного приложения перейдите по ссылке ниже: https://cloud.google.com/architecture/mobile-compute-engine-grpc
person
Siva Mannani
schedule
21.05.2021