Testez atât GRPC, care folosește HTTP2, cât și nanos unikernel. Am scris un mic server de testare în Golang care are un server GRPC intern care are solicitări făcute de o conexiune client în aceeași aplicație. Am configurat TLS pentru serverul și clientul GRPC și funcționează bine local. De asemenea, rulează corect local ca imagine de container folosind ops (care este un instrument de gestionare pentru rularea containerelor nanos sau oricare ar fi termenul pentru acesta. Rulând local în acest fel, același container rulează așa cum ar fi rulat în GCP, deși recunosc acolo trebuie sa fie diferente.
Când pun instanța la GPC, permițând HTTP și HTTPS în firewall-ul proiectului, eșuează. Cred că acest lucru se datorează faptului că conexiunile HTTP2 nu sunt acceptate sau cel puțin nu cum le-am configurat.
Îmi dau seama că am o serie de lucruri care se întâmplă aici. Cu toate acestea, dacă las serverul GRPC singur în aplicație și în handlerul HTTP apelez direct funcția care primește sarcina utilă în loc să fac un apel prin clientul GRPC, totul funcționează corect. Văd un pic de documentație pentru utilizarea HTTP2 cu echilibrare de încărcare GPC și pot încerca asta, dar nu văd nimic până acum despre utilizarea HTTP2 cu o instanță care rulează. Știe cineva dacă există o modalitate de a permite HTTP2 pe o instanță GCP?