Skip to content

Import path: gitlab.soludian.com/soludian/fountain/clients/fgrpc_client

fgrpc_client

go
import "gitlab.soludian.com/soludian/fountain/clients/fgrpc_client"

Index

Constants

go
const (
    KReadTimeoutDefault      = 3 * time.Second
    KSlowLogThresholdDefault = 600 * time.Millisecond
)

PackageName sets the package name

go
const KPackageName = "fgrpc_client"

Variables

go
var GetFountainInstance = Lib.GetFountainInstance

go
var GetFountainManager = Lib.GetFountainManager

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 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()
go
var InstallFountainInstance = Lib.InstallFountainInstance

Sử 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()
go
var InstallFountainInstances = Lib.InstallFountainInstances

go
var KDefaultClientName = env.GetFullAppServiceServer(KPackageName)

Truy cập thẳng tới bộ quản lý thư viện

go
var Lib = lib_3rd.NewLib(newClient, lib_3rd.WithDefaultConfigFunc[Config, Client](DefaultConfig))

go
var WithConfigKey = Lib.WithConfigKey

func DecryptionResponse

go
func DecryptionResponse[T any](res *resty.Response) (*T, *froto.RpcError)

func WithAddr

go
func WithAddr(addr string) lib_3rd.Option[Config]

func WithBalancerName

go
func WithBalancerName(name string) lib_3rd.Option[Config]

func WithConfig

go
func WithConfig(conf *Config) lib_3rd.Option[Config]

func WithCounter

go
func WithCounter(counter metrics.Counter) lib_3rd.Option[Config]

func WithDialOptions

go
func WithDialOptions(dialOptions ...grpc.DialOption) lib_3rd.Option[Config]

func WithDisableAccessInterceptor

go
func WithDisableAccessInterceptor(disable ...bool) lib_3rd.Option[Config]

func WithDisableAccessInterceptorReq

go
func WithDisableAccessInterceptorReq(disable ...bool) lib_3rd.Option[Config]

func WithDisableAccessInterceptorRes

go
func WithDisableAccessInterceptorRes(disable ...bool) lib_3rd.Option[Config]

func WithDisableAppNameInterceptor

go
func WithDisableAppNameInterceptor(disable ...bool) lib_3rd.Option[Config]

func WithDisableCPUUsage

go
func WithDisableCPUUsage(disable ...bool) lib_3rd.Option[Config]

func WithDisableMetricInterceptor

go
func WithDisableMetricInterceptor(disable ...bool) lib_3rd.Option[Config]

func WithDisableOfficialGRPCLog

go
func WithDisableOfficialGRPCLog(disable ...bool) lib_3rd.Option[Config]

func WithDisableServiceConfig

go
func WithDisableServiceConfig(disable ...bool) lib_3rd.Option[Config]

func WithDisableTimeoutInterceptor

go
func WithDisableTimeoutInterceptor(disable ...bool) lib_3rd.Option[Config]

func WithDisableTraceInterceptor

go
func WithDisableTraceInterceptor(disable ...bool) lib_3rd.Option[Config]

func WithDisableWithInsecure

go
func WithDisableWithInsecure(disable ...bool) lib_3rd.Option[Config]

func WithEnvironment

go
func WithEnvironment(env string) lib_3rd.Option[Config]

func WithHistogram

go
func WithHistogram(histogram metrics.Histogram) lib_3rd.Option[Config]

func WithKeepAlive

go
func WithKeepAlive(keepAlive *keepalive.ClientParameters) lib_3rd.Option[Config]

func WithName

go
func WithName(name string) lib_3rd.Option[Config]

func WithOnFail

go
func WithOnFail(onFail string) lib_3rd.Option[Config]

func WithReadTimeout

go
func WithReadTimeout(timeout time.Duration) lib_3rd.Option[Config]

func WithRegistry

go
func WithRegistry(registry fregistry.Registry) lib_3rd.Option[Config]

func WithSlowLogThreshold

go
func WithSlowLogThreshold(threshold time.Duration) lib_3rd.Option[Config]

type Client

Component component

go
type Client struct {
    *grpc.ClientConn
    // contains filtered or unexported fields
}

type Config

Config...

go
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

go
func DefaultConfig() *Config

func (*Config) Validate

go
func (conf *Config) Validate() error

Generated by gomarkdoc