Comments (3)
Thinking about this further and discussing with @boyand about context.{Cancellation, Deadline}, etc. It's clear that there's a variable number of ways in which people will want to execute call strategies.
So firstly, rather than just having a constant as the seed for backoff option, it probably makes sense to support a backoff function, this allows the user to define backoff based on external components if need be.
Secondly, it may make sense to support a CallFunc as a client Option or CallOption which allows you to override the default behaviour of the call. A call usually entails, selecting a node using the selector, dialing using the transport and then trying to execute the call until success, retry limit or timeout is hit. CallFunc would allow all of this functionality to be swapped out and a user could define the cancellation behaviour.
from go-micro.
Backoff function. #70
Will address CallFunc separately.
from go-micro.
Merged
from go-micro.
Related Issues (20)
- [BUG] 4.10.2 subscribe can't receive pushlish message
- How can we ensure that the service node is Deregister wehn use zookeeper plugins HOT 1
- Advertise-address not work ? it is docker's ip 172.17.0.2 ??、 HOT 2
- what diffrent gateway with http example?
- How can multiple subscribers on a topic only consume once HOT 2
- [BUG]grpc client Call method bug HOT 1
- [BUG] Always show updates when creating a service (watch) HOT 1
- [BUG] Depreciation Warning: github.com/golang/protobuf HOT 1
- I haven't seen anywhere using the logger.Option.Out for write. Is this variable written here to deceive people?
- trying to send message larger than max (14547977 vs. 4194304) ? HOT 1
- panic: qtls.ConnectionState not compatible with tls.ConnectionState
- [BUG] Version V2.9.1 CLI no longer exists HOT 5
- grpc stream use async socket send, but seem use them same buffer, the newer msg seems overwrite the underlying buffer HOT 4
- Tag latest v3 changes (v3.7.2)
- [go-micro/auth.Inspect()] Is this function working? HOT 2
- how can i writter log to file? HOT 4
- [BUG]micro v4 can't register service HOT 10
- how can i pass http request headers through metadata?
- [BUG] go.micro.client.transport write: broken pipe
- [BUG] for v4.9.0 to RegisterSubscriber with Queue
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 go-micro.