Import path:
gitlab.soludian.com/soludian/fountain/clients/fgrpc_client
fgrpc_client
import "gitlab.soludian.com/soludian/fountain/clients/fgrpc_client"Index
- Constants
- Variables
- func DecryptionResponse[T any](res *resty.Response) (*T, *froto.RpcError)
- func WithAddr(addr string) lib_3rd.Option[Config]
- func WithBalancerName(name string) lib_3rd.Option[Config]
- func WithConfig(conf *Config) lib_3rd.Option[Config]
- func WithCounter(counter metrics.Counter) lib_3rd.Option[Config]
- func WithDialOptions(dialOptions ...grpc.DialOption) lib_3rd.Option[Config]
- func WithDisableAccessInterceptor(disable ...bool) lib_3rd.Option[Config]
- func WithDisableAccessInterceptorReq(disable ...bool) lib_3rd.Option[Config]
- func WithDisableAccessInterceptorRes(disable ...bool) lib_3rd.Option[Config]
- func WithDisableAppNameInterceptor(disable ...bool) lib_3rd.Option[Config]
- func WithDisableCPUUsage(disable ...bool) lib_3rd.Option[Config]
- func WithDisableMetricInterceptor(disable ...bool) lib_3rd.Option[Config]
- func WithDisableOfficialGRPCLog(disable ...bool) lib_3rd.Option[Config]
- func WithDisableServiceConfig(disable ...bool) lib_3rd.Option[Config]
- func WithDisableTimeoutInterceptor(disable ...bool) lib_3rd.Option[Config]
- func WithDisableTraceInterceptor(disable ...bool) lib_3rd.Option[Config]
- func WithDisableWithInsecure(disable ...bool) lib_3rd.Option[Config]
- func WithEnvironment(env string) lib_3rd.Option[Config]
- func WithHistogram(histogram metrics.Histogram) lib_3rd.Option[Config]
- func WithKeepAlive(keepAlive *keepalive.ClientParameters) lib_3rd.Option[Config]
- func WithName(name string) lib_3rd.Option[Config]
- func WithOnFail(onFail string) lib_3rd.Option[Config]
- func WithReadTimeout(timeout time.Duration) lib_3rd.Option[Config]
- func WithRegistry(registry fregistry.Registry) lib_3rd.Option[Config]
- func WithSlowLogThreshold(threshold time.Duration) lib_3rd.Option[Config]
- type Client
- type Config
Constants
const (
KReadTimeoutDefault = 3 * time.Second
KSlowLogThresholdDefault = 600 * time.Millisecond
)PackageName sets the package name
const KPackageName = "fgrpc_client"Variables
var GetFountainInstance = Lib.GetFountainInstancevar GetFountainManager = Lib.GetFountainManagerSử dụng khi config instance ở dạng key:value; Nếu config instance ở dạng key:array thì sử dụng hàm InstallFountainInstances nếu không sẽ chỉ install config phần tử đầu tiên mà thôi Sử dụng khi config instance ở dạng key:value; Nếu config instance ở dạng key:array thì sử dụng hàm InstallFountainInstances Nếu config ở dạng key:array thì sẽ chỉ install config phần tử đầu tiên mà thôi
Install with config format <key>:<value>; eg: fgrpc_client:<value>
Usage:
config.yaml:
fgrpc_client:
name: default_name
...
code.go
fgrpc_client.InstallFountainInstance()
fgrpc_client.WithConfigKey("fgrpc_client").InstallFountainInstance()var InstallFountainInstance = Lib.InstallFountainInstanceSử dụng khi config instance ở dạng key:array<value>; Sẽ luôn cố gắng khởi tạo kể cả khi config ở dạng key:value
Install with config format <key>:array<value>; eg: fgrpc_client:array<value>
Usage:
config.yaml:
fgrpc_client:
- name: default_name
...
code.go
fgrpc_client.InstallFountainInstances()
fgrpc_client.WithConfigKey("fgrpc_client").InstallFountainInstances()var InstallFountainInstances = Lib.InstallFountainInstancesvar KDefaultClientName = env.GetFullAppServiceServer(KPackageName)Truy cập thẳng tới bộ quản lý thư viện
var Lib = lib_3rd.NewLib(newClient, lib_3rd.WithDefaultConfigFunc[Config, Client](DefaultConfig))var WithConfigKey = Lib.WithConfigKeyfunc DecryptionResponse
func DecryptionResponse[T any](res *resty.Response) (*T, *froto.RpcError)func WithAddr
func WithAddr(addr string) lib_3rd.Option[Config]func WithBalancerName
func WithBalancerName(name string) lib_3rd.Option[Config]func WithConfig
func WithConfig(conf *Config) lib_3rd.Option[Config]func WithCounter
func WithCounter(counter metrics.Counter) lib_3rd.Option[Config]func WithDialOptions
func WithDialOptions(dialOptions ...grpc.DialOption) lib_3rd.Option[Config]func WithDisableAccessInterceptor
func WithDisableAccessInterceptor(disable ...bool) lib_3rd.Option[Config]func WithDisableAccessInterceptorReq
func WithDisableAccessInterceptorReq(disable ...bool) lib_3rd.Option[Config]func WithDisableAccessInterceptorRes
func WithDisableAccessInterceptorRes(disable ...bool) lib_3rd.Option[Config]func WithDisableAppNameInterceptor
func WithDisableAppNameInterceptor(disable ...bool) lib_3rd.Option[Config]func WithDisableCPUUsage
func WithDisableCPUUsage(disable ...bool) lib_3rd.Option[Config]func WithDisableMetricInterceptor
func WithDisableMetricInterceptor(disable ...bool) lib_3rd.Option[Config]func WithDisableOfficialGRPCLog
func WithDisableOfficialGRPCLog(disable ...bool) lib_3rd.Option[Config]func WithDisableServiceConfig
func WithDisableServiceConfig(disable ...bool) lib_3rd.Option[Config]func WithDisableTimeoutInterceptor
func WithDisableTimeoutInterceptor(disable ...bool) lib_3rd.Option[Config]func WithDisableTraceInterceptor
func WithDisableTraceInterceptor(disable ...bool) lib_3rd.Option[Config]func WithDisableWithInsecure
func WithDisableWithInsecure(disable ...bool) lib_3rd.Option[Config]func WithEnvironment
func WithEnvironment(env string) lib_3rd.Option[Config]func WithHistogram
func WithHistogram(histogram metrics.Histogram) lib_3rd.Option[Config]func WithKeepAlive
func WithKeepAlive(keepAlive *keepalive.ClientParameters) lib_3rd.Option[Config]func WithName
func WithName(name string) lib_3rd.Option[Config]func WithOnFail
func WithOnFail(onFail string) lib_3rd.Option[Config]func WithReadTimeout
func WithReadTimeout(timeout time.Duration) lib_3rd.Option[Config]func WithRegistry
func WithRegistry(registry fregistry.Registry) lib_3rd.Option[Config]func WithSlowLogThreshold
func WithSlowLogThreshold(threshold time.Duration) lib_3rd.Option[Config]type Client
Component component
type Client struct {
*grpc.ClientConn
// contains filtered or unexported fields
}type Config
Config...
type Config struct {
lib_3rd.BaseConfig `conf:",squash"`
Addr string `conf:"addr" json:"addr,omitempty"` // Connection address, direct connection is 127.0.0.1:9001, service discovery is etcd:///app_name
BalancerName string `conf:"balancer_name" json:"balancer_name"` // Load balancing method, default round robin
OnFail string `conf:"on_fail" json:"on_fail,omitempty"` // Processing method after failure, panic | error
ReadTimeout time.Duration `conf:"read_timeout" json:"read_timeout,omitempty"` // read timeout, default 1s
SlowLogThreshold time.Duration `conf:"slow_log_threshold" json:"slow_log_threshold,omitempty"` // Threshold for slow logging, default 600ms
DisableOfficialGRPCLog bool `conf:"disable_official_grpc_log" json:"disable_official_grpc_log,omitempty"` // Whether to enable the official grpc log, off by default
DisableWithInsecure bool `conf:"disable_with_insecure" json:"disable_with_insecure,omitempty"` // Whether to enable insecure transmission, enabled by default
DisableMetricInterceptor bool `conf:"disable_metric_interceptor" json:"disable_metric_interceptor,omitempty"` // Whether to enable monitoring, enabled by default
DisableTraceInterceptor bool `conf:"disable_trace_interceptor" json:"disable_trace_interceptor,omitempty"` // Whether to enable link tracking, it is enabled by default
DisableAppNameInterceptor bool `conf:"disable_app_name_interceptor" json:"disable_app_name_interceptor,omitempty"` // Whether to enable the transfer of application name, enabled by default
DisableTimeoutInterceptor bool `conf:"disable_timeout_interceptor" json:"disable_timeout_interceptor,omitempty"` // Whether to enable timeout delivery, default on
DisableAccessInterceptor bool `conf:"disable_access_interceptor" json:"disable_access_interceptor,omitempty"` // Whether to enable record request data, not enabled by default
DisableAccessInterceptorReq bool `conf:"disable_access_interceptor_req" json:"disable_access_interceptor_req,omitempty"` // Whether to enable record request parameters, not enabled by default
DisableAccessInterceptorRes bool `conf:"disable_access_interceptor_res" json:"disable_access_interceptor_res,omitempty"` // Whether to enable the record response parameter, not enabled by default
DisableCPUUsage bool `conf:"disable_cpu_usage" json:"disable_cpu_usage,omitempty"` // Whether to enable CPU utilization, default enabled
DisableServiceConfig bool `conf:"disable_service_config" json:"disable_service_config,omitempty"` // Whether to enable service configuration, enabled by default
// contains filtered or unexported fields
}func DefaultConfig
func DefaultConfig() *Configfunc (*Config) Validate
func (conf *Config) Validate() errorGenerated by gomarkdoc