googleapis / googleapis/google-cloud-python
Add gRPC Channel Pools
Open
priority: p3
type: feature request
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 1.8k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 122
Description
Individual gRPC channels are limited to [100 concurrent streams](https://cloud.google.com/bigtable/docs/connection-pools#how_connection_pools_work). This puts a cap on max throughput, which may be run up against in an asyncio application. One way to get around this is to maintain a pool of channels, and rotate requests between them.
This has been implemented in gapic in some languages (example: [go](https://github.com/googleapis/gapic-generator-go/blob/34124f14cdc18208b3bfcdf6602b3c8b25f9d21a/internal/gengapic/gengrpc.go#L268)), but not Python.
Contributor guide
Assessment
This issue has not been assessed yet.