tfjsonrpc-client
1. intro
this is a funny client for jsonrpc-client. it can support timeout,breaker ...
2. demo
var (
url = "http://test.com/rpc/user"
method = "test-rpc"
params = map[string]interface{}{
"param1": 1,
}
)
jsonClient := &JsonRpcClient{}
result, err := jsonClient.Call(context.Background(), url, method, params)
if err != nil {
fmt.Println("jsonrpc request error:", err.Error())
return
}
if result.Error != nil {
fmt.Println("jsonrpc result error:", result.Error)
return
}
if result.Result == nil {
fmt.Println("jsonrpc result error: result is nil")
return
}
t.Log("jsonrpc success:", result.Result)
3. breaker describe
title | describe | default |
---|---|---|
Threshold | breaker reached value. key include (jsonRpcUrl+jsonRpc) | 500 |
Expire | breakerKey expired time. | 5 min |
DryRunPercent | when breaker is opened, there is ?% requests can pass breaker, if one of those success, breaker is closed. | 10% |