All Projects → shimingyah → pool

shimingyah / pool

Licence: Apache-2.0 License
Connection pool for Go's grpc client with supports connection reuse.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to pool

Pool
General Purpose Connection Pool for GRPC,RPC,TCP Sevice Cluster
Stars: ✭ 98 (-6.67%)
Mutual labels:  pool, grpc
phalanx
Phalanx is a cloud-native distributed search engine that provides endpoints through gRPC and traditional RESTful API.
Stars: ✭ 192 (+82.86%)
Mutual labels:  grpc
protobuf-compiler
online protobuf compiler
Stars: ✭ 24 (-77.14%)
Mutual labels:  grpc
ldhcpd
Light DHCPd -- a DHCP server with a small feature set and a remotely programmable control plane
Stars: ✭ 49 (-53.33%)
Mutual labels:  grpc
Search Ads Web Service
Online search advertisement platform & Realtime Campaign Monitoring [Maybe Deprecated]
Stars: ✭ 30 (-71.43%)
Mutual labels:  grpc
citadel
Turn an arbitrary command into a Kubernetes Key Management Service GRPC server
Stars: ✭ 15 (-85.71%)
Mutual labels:  grpc
grpcoin
API-driven cryptocurrency paper trading game. Write a bot and play!
Stars: ✭ 53 (-49.52%)
Mutual labels:  grpc
jaeger-clickhouse
Jaeger ClickHouse storage plugin implementation
Stars: ✭ 103 (-1.9%)
Mutual labels:  grpc
yorkie-rust-sdk
Yorkie Rust SDK
Stars: ✭ 13 (-87.62%)
Mutual labels:  grpc
vtprotobuf
A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2
Stars: ✭ 418 (+298.1%)
Mutual labels:  grpc
gnmi-map
gNMI service map
Stars: ✭ 23 (-78.1%)
Mutual labels:  grpc
grpcdebug
grpcdebug is a command line interface focusing on simplifying the debugging process of gRPC applications.
Stars: ✭ 25 (-76.19%)
Mutual labels:  grpc
gatling-grpc
A Gatling load test plugin for gRPC
Stars: ✭ 87 (-17.14%)
Mutual labels:  grpc
pcap-processor
Read and process pcap files using this nifty tool
Stars: ✭ 36 (-65.71%)
Mutual labels:  grpc
nodejs-poolController
An application to control pool equipment from various manufacturers.
Stars: ✭ 162 (+54.29%)
Mutual labels:  pool
ddns
Simple restful dynamic DNS service
Stars: ✭ 25 (-76.19%)
Mutual labels:  grpc
engine
a plugin based grpc framework
Stars: ✭ 16 (-84.76%)
Mutual labels:  grpc
upper
Upper is a open source back-end framework based on the Dart language.
Stars: ✭ 39 (-62.86%)
Mutual labels:  grpc
pooled redis
Simple way to access redis connections without global variables.
Stars: ✭ 18 (-82.86%)
Mutual labels:  pool
Mediator
Cross-platform GUI gRPC debugging proxy
Stars: ✭ 36 (-65.71%)
Mutual labels:  grpc

Pool

GoDoc Go Report Card LICENSE

Connection pool for Go's grpc client that supports connection reuse.

Pool provides additional features:

  • Connection reuse supported by specific MaxConcurrentStreams param.
  • Failure reconnection supported by grpc's keepalive.

Getting started

Install

Import package:

import (
    "github.com/shimingyah/pool"
)
go get github.com/shimingyah/pool

Usage

p, err := pool.New("127.0.0.1:8080", pool.DefaultOptions)
if err != nil {
    log.Fatalf("failed to new pool: %v", err)
}
defer p.Close()

conn, err := p.Get()
if err != nil {
    log.Fatalf("failed to get conn: %v", err)
}
defer conn.Close()

// cc := conn.Value()
// client := pb.NewClient(conn.Value())

See the complete example: https://github.com/shimingyah/pool/tree/master/example

Reference

License

Pool is under the Apache 2.0 license. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].