Pode ligar-se à sua instância do Redis a partir de instâncias de VM do Compute Engine que usam a mesma rede autorizada que a sua instância do Redis.
Configuração
Se já instalou a CLI Google Cloud, criou uma instância do Redis e criou um contentor do Cloud Storage, pode ignorar estes passos.
Instale a CLI gcloud e inicialize-a:
gcloud init
Siga o guia de início rápido para criar uma instância do Redis. Tome nota da zona, do endereço IP e da porta da instância do Redis.
Crie um contentor do Cloud Storage onde o artefacto da aplicação para esta aplicação de exemplo vai ser carregado. Para mais informações, consulte o artigo Crie contentores.
Configurar as definições do gcloud para a aplicação de exemplo
- Defina o projeto predefinido do
gcloud
para o projeto da app de exemplo.gcloud config set project [PROJECT_ID]
Aplicação de exemplo
Esta aplicação de servidor HTTP de exemplo estabelece uma ligação a uma instância do Redis a partir de uma instância de VM do Compute Engine.
Clone o repositório para a linguagem de programação pretendida e navegue para a pasta que contém o código de exemplo:
Ir
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
Esta aplicação de exemplo incrementa um contador do Redis sempre que o ponto final /
é acedido.
Ir
Esta aplicação usa o cliente
github.com/gomodule/redigo/redis
. Instale-o executando o seguinte comando:
go get github.com/gomodule/redigo/redis
Java
Esta aplicação baseia-se no servlet Jetty 3.1.
Usa a biblioteca Jedis:
A classe AppServletContextListener
é usada para criar um conjunto de ligações Redis de longa duração:
A classe VisitCounterServlet
é um servlet Web que incrementa um contador Redis:
Node.js
Esta aplicação usa o módulo redis
.
Python
Esta aplicação usa o Flask
para o serviço Web e o pacote redis-py
para comunicar com a instância do Redis.
Implementar a aplicação numa VM do Compute Engine
Navegue para o diretório gce_deployment
:
cd gce_deployment
O script de implementação carrega o artefacto para o caminho do Cloud Storage. Em seguida, inicia uma instância do Compute Engine, criando uma firewall para expor a porta 8080. Em seguida, o script de arranque prepara a instância.
Defina as variáveis de ambiente REDISHOST
e REDISPORT
:
export REDISHOST=[REDISHOST] export REDISPORT=[REDISPORT]
where:
REDISHOST
é o IP da instância de Redis gerida.REDISPORT
é a porta da instância de Redis gerida por predefinição 6379.
Defina a variável de ambiente GCS_BUCKET_NAME
:
export GCS_BUCKET_NAME=[BUCKET_NAME]/[PATH]
where:
BUCKET_NAME
é o nome do seu contentor do Cloud Storage.PATH
é um caminho opcional para o diretório onde quer armazenar o artefacto da aplicação.
Segue-se um script de implementação de exemplo que implementa esta aplicação numa nova instância de VM do Compute Engine.
Ir
Java
Node.js
Python
Execute o script de implementação:
chmod +x deploy.sh
./deploy.sh
Script de arranque da aplicação
Este script de arranque é usado no script de implementação de exemplo para preparar a instância. Para mais informações sobre scripts de arranque e visualização de registos de execução de scripts de arranque, consulte Executar scripts de arranque.
Ir
Java
Node.js
Python
A implementação da aplicação de exemplo na instância do Compute Engine recém-criada pode demorar vários minutos.
Quando a instância estiver pronta e o script de arranque tiver concluído a execução, aceda à página de instâncias do Compute Engine e copie o endereço de IP externo.
Para ver a app de exemplo que implementou, visite http://[EXTERNAL-IP]:8080
Pode usar o script teardown.sh
para eliminar a instância e a firewall criadas pelo script de implementação: