frostfs-api-go/rpc/client
Evgenii Stratonikov 1473fa588f
All checks were successful
Tests and linters / Tests (1.19) (pull_request) Successful in 48s
DCO action / DCO (pull_request) Successful in 44s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m2s
Tests and linters / Tests with -race (pull_request) Successful in 1m9s
Tests and linters / Lint (pull_request) Successful in 1m29s
[#98] rpc: Accept interface in place of ClientConn
gRPC client load-balancing API is ugly as f:
1. It is configured by pre-registering a balancer and the providing JSON
   configuration.
2. It doesn't allow different credentials for different endpoints
   (consider using "insecure" localhost and external endpoint).
3. To support frostfs usecase we also need to implement a resolver,
   which has its own difficulties.
4. https://github.com/grpc/grpc-go/issues/239#issuecomment-264548415

Using interface in place of grpc.ClientConn allows us to provide custom
implentation for it (load-balancing, circuit breaker etc.).

Refs TrueCloudLab/frostfs-node#1268

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-01 08:50:24 +03:00
..
call_options.go [#27] *: Add linter exceptions 2023-05-03 14:15:56 +03:00
client.go [#36] tracing: Drop tracing pkg 2023-05-31 11:40:46 +00:00
conn.go [#98] rpc: Accept interface in place of ClientConn 2024-08-01 08:50:24 +03:00
connect.go [#2] rpc/client: Allow to override low-level gRPC options 2023-02-06 11:30:33 +03:00
flows.go Rename package name 2023-03-07 13:42:36 +03:00
init.go Rename package name 2023-03-07 13:42:36 +03:00
options.go [#98] rpc: Accept interface in place of ClientConn 2024-08-01 08:50:24 +03:00
options_test.go Move to frostfs-api 2022-12-12 17:40:48 +03:00
stream_wrapper.go Rename package name 2023-03-07 13:42:36 +03:00
util.go Rename package name 2023-03-07 13:42:36 +03:00