Comments (2)
Yes, gohbase
is concurrency safe. Reusing one client is the recommended way for multiple reason:
- less connections to regionservers
- less lookup to the
meta
table (since there is one cache per client) - better batching of RPCs. The client automatically batches RPCs per regionserver (default value https://github.com/tsuna/gohbase/blob/master/client.go#L25-L26) even if the client doesn't expose the batching mechanism. The recommended way right now is to start for example 100 goroutines doing
.Put
at the same time, they will all get batched automatically together (because the RS will reach the max queue size or the flush interval) and the reply will be handled to each call individually.
It's possible that to obtain a specific throughput, one may need a pool of clients, but I wouldn't expect that number to be in the hundreds. If you have some target req/s, it could be interesting to benchmark. We haven't benchmarked gohbase
in a long time.
from gohbase.
Thanks @dethi, i will close this issue.
from gohbase.
Related Issues (20)
- Why is Scan operation stuck for ~1s every X records retrieved? And How to disable logger? HOT 4
- Client logging should be configurable
- does gohbase client have transaction functionallity? HOT 1
- OpenTelemetry can be set as optional HOT 1
- Support read from replicated meta table
- HBbase serialization cannot obtain the timeout period? HOT 4
- sleepAndIncreaseBackoff should have max backoff value
- Host not updated HOT 1
- RegionClient{Addr: localhost:16020} HOT 1
- zookeeper连接时间为什么是30秒? 对于web服务来说是不是太长了? HOT 2
- How to improve the performance of `scan` operation? HOT 2
- How do I know a scan result is returned due to MaxResultSize limit? HOT 3
- Version is too high HOT 2
- Support region cache warmup
- metrics: count of errors that were automatically retried
- Consider switching to vtprotobuf
- 32
- Move to log/slog for logging
- Expose Dialers for Zookeeper and Region package to allow using proxies
- caches.go clientDown may have a memory leak problem
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gohbase.