gRPC es un framework de RPC universal de alto rendimiento y código abierto desarrollado por Google que puedes usar para definir tus servicios con búferes de protocolo. Puedes usar gRPC para interactuar con Cloud Storage. gRPC utiliza la conectividad directa entre las instancias de Compute Engine y los segmentos de Cloud Storage, lo que evita el uso de Google Front Ends (GFEs).
Puedes conectarte a Cloud Storage mediante gRPC a través de los siguientes clientes compatibles:
Conector de E/S de Apache Beam en Dataflow para solicitudes de lectura y escritura.
Bibliotecas de cliente de Cloud Storage para C++, Go y Java. Para obtener instrucciones sobre cómo habilitar gRPC en estas bibliotecas de cliente, consulta el artículo Habilitar gRPC en una biblioteca de cliente.
Cloud Storage FUSE. Puedes usar Cloud Storage FUSE como cliente especificando
grpcen el campoclient-protocolmediante un archivo de configuración de Cloud Storage FUSE o la opción--client-protocolmediante la CLI de Cloud Storage FUSE. Para usar gRPC con Cloud Storage FUSE, te recomendamos que utilices Cloud Storage FUSE 2.10.0 o versiones posteriores.
Habilitar gRPC en una biblioteca de cliente
C++
Antes de empezar
Asegúrate de que tienes instaladas las siguientes versiones:
gRPC 1.65.1 o una versión posterior
Versión 2.30.0 o posterior de la biblioteca de cliente de C++
C++ versión 14 o posterior
Para obtener instrucciones de instalación, consulta el artículo Configurar un entorno de desarrollo de C++.
Asegúrate de que cada instancia de Compute Engine tenga una cuenta de servicio asociada, aunque no tenga permisos. Esta cuenta de servicio se usa para representar la instancia de Compute Engine en el proceso de handshake de seguridad de transporte en la capa de la aplicación (ALTS) y es necesaria para la conectividad directa.
Configurar la biblioteca de cliente de C++
Crea un cliente de gRPC con
gcs::MakeGrpcClient():namespace gcs = google::cloud::storage; void App() { auto client = gcs::MakeGrpcClient(); // application code }La biblioteca de cliente de C++ usa automáticamente la conectividad directa cuando detecta que la aplicación se está ejecutando en Google Cloud.
Para configurar la biblioteca de cliente de C++ para que use gRPC, habilita el cliente gRPC de Cloud Storage para actualizar la configuración del sistema de compilación de CMake o Bazel.
CMake
Habilita el complemento de cliente gRPC de Cloud Storage en tiempo de compilación.
cmake -DGOOGLE_CLOUD_CPP_ENABLE=storage_grpc [other options here]En tu base de código, sustituye el comando
target_link_libraries()google-cloud-cpp::storageporgoogle-cloud-cpp::storage_grpc.Por ejemplo, el programa de inicio rápido de gRPC usa el siguiente código:
add_executable(quickstart_grpc quickstart_grpc.cc) target_link_libraries(quickstart_grpc google-cloud-cpp::storage_grpc)