googleapis / googleapis/google-cloud-cpp

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

Ouverte
#13,707 10 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
type: feature request
Langage dominant
C++
Étoiles
659
Forks
462
Merge moyen
1 j 2 h
PR mergées (30 j)
89

Description

**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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la référence sur la sécurité des threads de Pub/Sub Publisher et par l’implémentation de MakePublisherConnection mentionnée dans l’issue. Déterminez si un pool de threads peut être partagé entre plusieurs topics, puis documentez l’utilisation attendue à l’aide d’un exemple ou d’instructions ciblées ; le travail est terminé lorsque le comportement de la connexion multi-topic et du pool de threads est clair.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, gcp, grpc
Domaine
documentation
Type d'issue
Documentation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.