googleapis / googleapis/google-cloud-cpp

Sharing a pool of gRPC threads/connections with N topics for Pub/Sub?

Abierto
#13,707 10 comentarios 0 reacciones 0 asignados Ver en GitHub
type: feature request
Lenguaje dominante
C++
Estrellas
659
Forks
462
Merge medio
1 d 2 h
PR fusionados (30 d)
89

Descripción

**What component of `google-cloud-cpp` is this feature request for?**
Pub/Sub

**Is your feature request related to a problem? Please describe.**
Thanks for a great product. I've been looking at your samples for using the Pub/Sub publisher class. There is one example in particular where it shows you how to pass in your own thread pool:
https://cloud.google.com/cpp/docs/reference/pubsub/latest/classgoogle_1_1cloud_1_1pubsub_1_1Publisher#thread-safety

I had some suspicions about gRPC connections and the like, so I dug into the source code.

Each call of `MakePublisherConnection` is still tied to a topic. It is unclear if can use the same thread pool for multiple calls to `MakePublisherConnection` or not. Inside `MakePublisherConnection` I see gRPC channels being connected per thread, so I'm assuming that it's not expected to use the same thread pool across multiple topics?

That leaves me to my point of confusion. What is the expected usage for a scenario that I would assume is common:
1. You have multiple topics you publish to
2. You want a pool of gRPC connections that can be shared across all topics

**Describe the solution you'd like**
I would like a sample to document that, or even have this issue be the documentation.

**Describe alternatives you've considered**
I am currently iterating on ways I can play with the API to do what I expect, but it isn't ideal.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la referencia sobre la seguridad para subprocesos de Pub/Sub Publisher y la implementación de MakePublisherConnection mencionada en el issue. Determina si un grupo de subprocesos puede compartirse entre varios topics y, después, documenta el uso esperado con un ejemplo o una guía específica; se considera terminado cuando el comportamiento de la conexión con varios topics y del grupo de subprocesos esté claro.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, gcp, grpc
Área
documentation
Tipo de issue
Documentación
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.