- Serve traffic from multiple regions | Cloud Run Documentation | Google Cloud
- You can return faster responses to your users around the world by deploying services in multiple regions and routing your users to the nearest region. Deploying across multiple regions delivers low latency and higher availability in case of regional outages.
O GCP lançou na semana passada uma funcionalidade que permite usar o Cloud Run em várias regiões com uma única execução.
Para resumir brevemente o serviço em várias regiões, por exemplo, considere as regiões de Seul, Londres e Las Vegas.
Nesse caso, anteriormente, era necessário usar scripts para implantar várias regiões individualmente. A nova funcionalidade permite implantar várias regiões com um único script.
Na verdade, antes do lançamento, li a documentação sobre o lançamento do serviço e fiquei muito animado com a funcionalidade, mas fiquei um pouco desapontado.
A implantação usando scripts já permitia fazer várias implantações de uma só vez, uma a uma, e como elas funcionam em paralelo, não há muita diferença de tempo, então não esperava muito dessa parte. No entanto, como agora é possível implantar tudo de uma só vez, não é possível definir variáveis de ambiente diferentes para cada região.
Portanto, usei muito a funcionalidade que permite que cada Cloud Run se conecte a um banco de dados ou GCS diferente usando valores diferentes para cada região, mas isso causou problemas.
O segundo problema é que, ao repetir a implantação várias vezes, pode haver casos em que você deseja excluir as entradas antigas, mas isso também não pode ser controlado individualmente. Está em modo de leitura somente, então não é possível excluir as versões anteriores individualmente.
Existem várias desvantagens, mas a vantagem é que várias instâncias do Cloud Run podem ser "combinadas" em uma só.
No nosso serviço, usamos muito o Cloud Run e muitas regiões, então atualmente temos cerca de 50, e quando os trabalhos atuais forem concluídos, teremos cerca de 100. Usando o serviço de várias regiões, podemos reduzir isso para 10 a 20. (É apenas para escondê-los.)
Primeiro, o script é o seguinte.
Ao executar o script acima, a implantação será feita da seguinte maneira.
Cloud Run
Primeiro, o Cloud Run com o mesmo nome é implantado em cada região, e uma pasta (?) com o mesmo nome é criada no nível superior.
A tela combinada é a seguinte.
Cloud Run - Tela dobrada
Na verdade, se o número for pequeno, não ajuda muito, mas se assumirmos que isso é implantado em 40 regiões, isso ajudaria muito. (Mesmo que não seja tanto...)
Indicado como somente leitura.
Na maioria dos casos, quando você tenta modificar algo, ele é marcado como somente leitura. A documentação indica que o recurso é fornecido, mas ainda não funciona corretamente, se a API tem algum problema.
Primeiro, aqui está o local da documentação relacionada.
Este é o documento relacionado ao gcloud. Somente as versões alfa/beta são suportadas; a versão oficial não é suportada. Além disso, a opção --regions acima não está na documentação. (Será atualizada em breve?)
O que eu quero é, na verdade, nada mais do que fornecer a porta como um valor padrão na variável de ambiente, assim como a porta está atualmente incluída como uma variável de ambiente padrão. Claro, sei que várias informações são fornecidas por meio do servidor de metadados, mas isso é inconveniente porque você precisa obtê-lo diretamente com Fetch. (E isso também consome recursos...)
Como ainda é uma prévia, vai melhorar, certo? (Reclamar assim que for lançado...)
Comentários0