trpc.group/trpc-go/trpc-go@v1.0.3/naming/circuitbreaker/README.zh_CN.md (about) 1 # tRPC-Go 熔断器 2 3 针对每个请求的请求结果都会进行上报处理,熔断器会根据上报的情况,如果触发熔断,则会对服务器节点进行熔断处理。 4 5 ## 使用 6 通过 client.WithCircuitBreakerName("xxx") 指定使用的熔断器。 7 ```go 8 opts := []client.Option{ 9 client.WithCircuitBreakerName("xxxx"), 10 } 11 12 proxy := pb.NewGreeterProxy() 13 req := &pb.HelloRequest{ 14 Msg: "trpc-go-client", 15 } 16 proxy.SayHello(ctx, req, opts...) 17 ``` 18 19 ## 熔断器接口 20 ```go 21 // CircuitBreaker 熔断器接口,判断 node 是否可用,上报当前 node 成功或者失败 22 type CircuitBreaker interface { 23 Available(node *registry.Node) bool 24 Report(node *registry.Node, cost time.Duration, err error) error 25 } 26 ``` 27 默认实现为不熔断处理。 28