Documentation ¶
Index ¶
- Constants
- Variables
- func BeforeShutdown()
- func ConsumerInit(confConFile string) error
- func GetAllProviderService() map[string]common.RPCService
- func GetCallback(name string) func(response common.CallbackResponse)
- func GetClientTlsConfigBuilder() getty.TlsConfigBuilder
- func GetConsumerService(name string) common.RPCService
- func GetProviderService(name string) common.RPCService
- func GetRPCService(name string) common.RPCService
- func GetRouterURLSet() *gxset.HashSet
- func GetServerTlsConfigBuilder() getty.TlsConfigBuilder
- func GetSslEnabled() bool
- func GracefulShutdownInit()
- func IsProvider() bool
- func Load()
- func ProviderInit(confProFile string) error
- func RPCService(service common.RPCService)
- func RouterInit(confRouterFile string) error
- func SetClientTlsConfigBuilder(configBuilder getty.TlsConfigBuilder)
- func SetConsumerConfig(c ConsumerConfig)
- func SetConsumerService(service common.RPCService)
- func SetProviderConfig(p ProviderConfig)
- func SetProviderService(service common.RPCService)
- func SetServerTlsConfigBuilder(configBuilder getty.TlsConfigBuilder)
- func SetSslEnabled(enabled bool)
- type ApplicationConfig
- type ApplicationConfigOpt
- func WithAppEnvironment(env string) ApplicationConfigOpt
- func WithAppModule(module string) ApplicationConfigOpt
- func WithAppName(name string) ApplicationConfigOpt
- func WithAppOrganization(org string) ApplicationConfigOpt
- func WithAppOwner(owner string) ApplicationConfigOpt
- func WithAppVersion(version string) ApplicationConfigOpt
- type BaseConfig
- type ConfigCenterConfig
- type ConsumerConfig
- type ConsumerConfigOpt
- func WithConsumerAppConfig(appConfig *ApplicationConfig) ConsumerConfigOpt
- func WithConsumerConfigCenterConfig(configCenterConfig *ConfigCenterConfig) ConsumerConfigOpt
- func WithConsumerConfigCheck(check bool) ConsumerConfigOpt
- func WithConsumerConnTimeout(timeout time.Duration) ConsumerConfigOpt
- func WithConsumerReferenceConfig(referenceKey string, refConfig *ReferenceConfig) ConsumerConfigOpt
- func WithConsumerRegistryConfig(registryKey string, regConfig *RegistryConfig) ConsumerConfigOpt
- func WithConsumerRequestTimeout(timeout time.Duration) ConsumerConfigOpt
- type GenericService
- type GenericService2
- type LocalRouterRules
- type MetadataReportConfig
- type MethodConfig
- type MetricConfig
- type MockService
- type ProtocolConfig
- type ProviderConfig
- type ProviderConfigOpt
- func WithPrividerRegistryConfig(regConfig *RegistryConfig) ProviderConfigOpt
- func WithProviderAppConfig(appConfig *ApplicationConfig) ProviderConfigOpt
- func WithProviderProtocol(protocolKey, protocol, port string) ProviderConfigOpt
- func WithProviderRegistry(registryKey string, registryConfig *RegistryConfig) ProviderConfigOpt
- func WithProviderServices(serviceName string, serviceConfig *ServiceConfig) ProviderConfigOpt
- type ReferenceConfig
- func (c *ReferenceConfig) GenericLoad(id string)
- func (c *ReferenceConfig) GetInvoker() protocol.Invoker
- func (c *ReferenceConfig) GetProxy() *proxy.Proxy
- func (c *ReferenceConfig) GetRPCService() common.RPCService
- func (c *ReferenceConfig) Implement(v common.RPCService)
- func (c *ReferenceConfig) Prefix() string
- func (c *ReferenceConfig) Refer(_ interface{})
- func (c *ReferenceConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type ReferenceConfigOpt
- func WithReferenceCluster(cluster string) ReferenceConfigOpt
- func WithReferenceInterface(interfaceName string) ReferenceConfigOpt
- func WithReferenceMethod(methodName, retries, lb string) ReferenceConfigOpt
- func WithReferenceProtocol(protocol string) ReferenceConfigOpt
- func WithReferenceRegistry(registry string) ReferenceConfigOpt
- type RegistryConfig
- type RegistryConfigOpt
- func WithRegistryAddress(addr string) RegistryConfigOpt
- func WithRegistryGroup(group string) RegistryConfigOpt
- func WithRegistryParams(params map[string]string) RegistryConfigOpt
- func WithRegistryPassword(psw string) RegistryConfigOpt
- func WithRegistryPreferred(preferred bool) RegistryConfigOpt
- func WithRegistryProtocol(regProtocol string) RegistryConfigOpt
- func WithRegistrySimplified(simplified bool) RegistryConfigOpt
- func WithRegistryTTL(ttl string) RegistryConfigOpt
- func WithRegistryTimeOut(timeout string) RegistryConfigOpt
- func WithRegistryUserName(userName string) RegistryConfigOpt
- func WithRegistryWeight(weight int64) RegistryConfigOpt
- type RemoteConfig
- type ServiceConfig
- func (c *ServiceConfig) Export() error
- func (c *ServiceConfig) GetExportedUrls() []*common.URL
- func (c *ServiceConfig) Implement(s common.RPCService)
- func (c *ServiceConfig) InitExported()
- func (c *ServiceConfig) IsExport() bool
- func (c *ServiceConfig) Prefix() string
- func (c *ServiceConfig) Unexport()
- func (c *ServiceConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type ServiceConfigOpt
- func WithServiceCluster(cluster string) ServiceConfigOpt
- func WithServiceInterface(interfaceName string) ServiceConfigOpt
- func WithServiceLoadBalance(lb string) ServiceConfigOpt
- func WithServiceMethod(name, retries, lb string) ServiceConfigOpt
- func WithServiceProtocol(protocol string) ServiceConfigOpt
- func WithServiceRegistry(registry string) ServiceConfigOpt
- func WithServiceWarmUpTime(warmUp string) ServiceConfigOpt
- type ServiceDiscoveryConfig
- type ShutdownConfig
Constants ¶
const (
MaxWheelTimeSpan = 900e9 // 900s, 15 minute
)
Variables ¶
var ( // ShutdownSignals receives shutdown signals to process ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP, syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM} // DumpHeapShutdownSignals receives shutdown signals to process DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS} )
Functions ¶
func BeforeShutdown ¶ added in v1.3.0
func BeforeShutdown()
BeforeShutdown provides processing flow before shutdown
func ConsumerInit ¶ added in v1.2.0
ConsumerInit loads config file to init consumer config
func GetAllProviderService ¶ added in v1.5.6
func GetAllProviderService() map[string]common.RPCService
GetAllProviderService gets all ProviderService
func GetCallback ¶ added in v1.3.0
func GetCallback(name string) func(response common.CallbackResponse)
GetCallback gets CallbackResponse by @name
func GetClientTlsConfigBuilder ¶ added in v1.5.1
func GetClientTlsConfigBuilder() getty.TlsConfigBuilder
func GetConsumerService ¶
func GetConsumerService(name string) common.RPCService
GetConsumerService gets ConsumerService by @name
func GetProviderService ¶
func GetProviderService(name string) common.RPCService
GetProviderService gets ProviderService by @name
func GetRPCService ¶
func GetRPCService(name string) common.RPCService
GetRPCService get rpc service for consumer
func GetRouterURLSet ¶ added in v1.5.0
GetRouterURLSet exposes the routerURLSet
func GetServerTlsConfigBuilder ¶ added in v1.5.1
func GetServerTlsConfigBuilder() getty.TlsConfigBuilder
func GetSslEnabled ¶ added in v1.5.1
func GetSslEnabled() bool
func IsProvider ¶ added in v1.5.0
func IsProvider() bool
func ProviderInit ¶ added in v1.2.0
ProviderInit loads config file to init provider config
func RPCService ¶
func RPCService(service common.RPCService)
RPCService create rpc service for consumer
func RouterInit ¶ added in v1.4.0
RouterInit Load config file to init router config
func SetClientTlsConfigBuilder ¶ added in v1.5.1
func SetClientTlsConfigBuilder(configBuilder getty.TlsConfigBuilder)
func SetConsumerConfig ¶
func SetConsumerConfig(c ConsumerConfig)
SetConsumerConfig sets consumerConfig by @c
func SetConsumerService ¶
func SetConsumerService(service common.RPCService)
SetConsumerService is called by init() of implement of RPCService
func SetProviderConfig ¶
func SetProviderConfig(p ProviderConfig)
SetProviderConfig sets provider config by @p
func SetProviderService ¶
func SetProviderService(service common.RPCService)
SetProviderService is called by init() of implement of RPCService
func SetServerTlsConfigBuilder ¶ added in v1.5.1
func SetServerTlsConfigBuilder(configBuilder getty.TlsConfigBuilder)
func SetSslEnabled ¶ added in v1.5.1
func SetSslEnabled(enabled bool)
Types ¶
type ApplicationConfig ¶
type ApplicationConfig struct { Organization string `yaml:"organization" json:"organization,omitempty" property:"organization"` Name string `yaml:"name" json:"name,omitempty" property:"name"` Module string `yaml:"module" json:"module,omitempty" property:"module"` Version string `yaml:"version" json:"version,omitempty" property:"version"` Owner string `yaml:"owner" json:"owner,omitempty" property:"owner"` Environment string `yaml:"environment" json:"environment,omitempty" property:"environment"` // the metadata type. remote or local MetadataType string `default:"local" yaml:"metadataType" json:"metadataType,omitempty" property:"metadataType"` }
ApplicationConfig is a configuration for current application, whether the application is a provider or a consumer
func GetApplicationConfig ¶ added in v1.4.0
func GetApplicationConfig() *ApplicationConfig
GetApplicationConfig find the application config if not, we will create one Usually applicationConfig will be initialized when system start we use double-check to reduce race condition In general, it will be locked 0 or 1 time. So you don't need to worry about the race condition
func NewApplicationConfig ¶ added in v1.5.6
func NewApplicationConfig(opts ...ApplicationConfigOpt) *ApplicationConfig
NewApplicationConfig is named as api, because there is NewServiceConfig func already declared NewApplicationConfig returns ApplicationConfig wigh default application config
func NewDefaultApplicationConfig ¶ added in v1.5.6
func NewDefaultApplicationConfig() *ApplicationConfig
NewDefaultApplicationConfig returns ApplicationConfig with default name: dubbo.io module: sample organization: dubbo.io owner: dubbogo version: 0.0.1 environment dev
func (*ApplicationConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *ApplicationConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ApplicationConfig by @unmarshal function
type ApplicationConfigOpt ¶ added in v1.5.6
type ApplicationConfigOpt func(config *ApplicationConfig) *ApplicationConfig
/////////////////////////////////////// Application config api ApplicationConfigOpt is option to init ApplicationConfig
func WithAppEnvironment ¶ added in v1.5.6
func WithAppEnvironment(env string) ApplicationConfigOpt
WithAppEnvironment returns ApplicationConfigOpt wigh given environment @env
func WithAppModule ¶ added in v1.5.6
func WithAppModule(module string) ApplicationConfigOpt
WithAppModule returns ApplicationConfigOpt with given @module
func WithAppName ¶ added in v1.5.6
func WithAppName(name string) ApplicationConfigOpt
WithAppName returns ApplicationConfigOpt with given @name
func WithAppOrganization ¶ added in v1.5.6
func WithAppOrganization(org string) ApplicationConfigOpt
WithAppOrganization returns ApplicationConfigOpt wight given organization @org
func WithAppOwner ¶ added in v1.5.6
func WithAppOwner(owner string) ApplicationConfigOpt
WithAppOwner returns ApplicationConfigOpt with given @owner
func WithAppVersion ¶ added in v1.5.6
func WithAppVersion(version string) ApplicationConfigOpt
WithAppVersion returns ApplicationConfigOpt with given version @version
type BaseConfig ¶
type BaseConfig struct { ConfigCenterConfig *ConfigCenterConfig `yaml:"config_center" json:"config_center,omitempty"` // since 1.5.0 version Remotes map[string]*RemoteConfig `yaml:"remote" json:"remote,omitempty" property:"remote"` ServiceDiscoveries map[string]*ServiceDiscoveryConfig `yaml:"service_discovery" json:"service_discovery,omitempty" property:"service_discovery"` MetadataReportConfig *MetadataReportConfig `yaml:"metadata_report" json:"metadata_report,omitempty" property:"metadata_report"` // application config ApplicationConfig *ApplicationConfig `yaml:"application" json:"application,omitempty" property:"application"` EventDispatcherType string `default:"direct" yaml:"event_dispatcher_type" json:"event_dispatcher_type,omitempty"` MetricConfig *MetricConfig `yaml:"metrics" json:"metrics,omitempty"` // cache file used to store the current used configurations. CacheFile string `yaml:"cache_file" json:"cache_file,omitempty" property:"cache_file"` // contains filtered or unexported fields }
BaseConfig is the common configuration for provider and consumer
func GetBaseConfig ¶ added in v1.5.0
func GetBaseConfig() *BaseConfig
func (*BaseConfig) GetRemoteConfig ¶ added in v1.5.0
func (c *BaseConfig) GetRemoteConfig(name string) (config *RemoteConfig, ok bool)
GetRemoteConfig will return the remote's config with the name if found
func (*BaseConfig) GetServiceDiscoveries ¶ added in v1.5.0
func (c *BaseConfig) GetServiceDiscoveries(name string) (config *ServiceDiscoveryConfig, ok bool)
nolint
func (*BaseConfig) Prefix ¶ added in v1.5.7
func (c *BaseConfig) Prefix() string
func (*BaseConfig) SetFatherConfig ¶
func (c *BaseConfig) SetFatherConfig(fatherConfig interface{})
SetFatherConfig sets father config by @fatherConfig
type ConfigCenterConfig ¶
type ConfigCenterConfig struct { Protocol string `required:"true" yaml:"protocol" json:"protocol,omitempty"` Address string `yaml:"address" json:"address,omitempty"` Cluster string `yaml:"cluster" json:"cluster,omitempty"` Group string `default:"dubbo" yaml:"group" json:"group,omitempty"` Username string `yaml:"username" json:"username,omitempty"` Password string `yaml:"password" json:"password,omitempty"` LogDir string `yaml:"log_dir" json:"log_dir,omitempty"` ConfigFile string `default:"dubbo.properties" yaml:"config_file" json:"config_file,omitempty"` Namespace string `yaml:"namespace" json:"namespace,omitempty"` AppConfigFile string `default:"dubbo.properties" yaml:"app_config_file" json:"app_config_file,omitempty"` AppID string `default:"dubbo" yaml:"app_id" json:"app_id,omitempty"` TimeoutStr string `yaml:"timeout" json:"timeout,omitempty"` RemoteRef string `required:"false" yaml:"remote_ref" json:"remote_ref,omitempty"` Parameters map[string]string `yaml:"parameters" json:"parameters,omitempty"` }
ConfigCenterConfig is configuration for config center
ConfigCenter also introduced concepts of namespace and group to better manage Key-Value pairs by group, those configs are already built-in in many professional third-party configuration centers. In most cases, namespace is used to isolate different tenants, while group is used to divide the key set from one tenant into groups.
ConfigCenter has currently supported Zookeeper, Nacos, Etcd, Consul, Apollo
func (*ConfigCenterConfig) GetURLMap ¶ added in v1.5.7
func (c *ConfigCenterConfig) GetURLMap() url.Values
GetURLMap gets url map from ConfigCenterConfig
func (*ConfigCenterConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *ConfigCenterConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ConfigCenterConfig by @unmarshal function
type ConsumerConfig ¶
type ConsumerConfig struct { BaseConfig `yaml:",inline" property:"base"` Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"` // client Connect_Timeout string `default:"100ms" yaml:"connect_timeout" json:"connect_timeout,omitempty" property:"connect_timeout"` ConnectTimeout time.Duration Registry *RegistryConfig `yaml:"registry" json:"registry,omitempty" property:"registry"` Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"` Request_Timeout string `yaml:"request_timeout" default:"5s" json:"request_timeout,omitempty" property:"request_timeout"` RequestTimeout time.Duration ProxyFactory string `yaml:"proxy_factory" default:"default" json:"proxy_factory,omitempty" property:"proxy_factory"` Check *bool `yaml:"check" json:"check,omitempty" property:"check"` References map[string]*ReferenceConfig `yaml:"references" json:"references,omitempty" property:"references"` Protocols map[string]*ProtocolConfig `yaml:"protocols" json:"protocols,omitempty" property:"protocols"` ProtocolConf interface{} `yaml:"protocol_conf" json:"protocol_conf,omitempty" property:"protocol_conf"` FilterConf interface{} `yaml:"filter_conf" json:"filter_conf,omitempty" property:"filter_conf"` ShutdownConfig *ShutdownConfig `yaml:"shutdown_conf" json:"shutdown_conf,omitempty" property:"shutdown_conf"` ConfigType map[string]string `yaml:"config_type" json:"config_type,omitempty" property:"config_type"` // contains filtered or unexported fields }
ConsumerConfig is Consumer default configuration
func GetConsumerConfig ¶
func GetConsumerConfig() ConsumerConfig
GetConsumerConfig find the consumer config if not found, create new one we use double-check to reduce race condition In general, it will be locked 0 or 1 time. So you don't need to worry about the race condition
func NewConsumerConfig ¶ added in v1.5.6
func NewConsumerConfig(opts ...ConsumerConfigOpt) *ConsumerConfig
NewConsumerConfig returns ConsumerConfig with @opts
func NewDefaultConsumerConfig ¶ added in v1.5.6
func NewDefaultConsumerConfig() *ConsumerConfig
NewDefaultConsumerConfig returns default ConsumerConfig with connection timeout = 3s, request timeout = 3s
func (*ConsumerConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *ConsumerConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ConsumerConfig by @unmarshal function
type ConsumerConfigOpt ¶ added in v1.5.6
type ConsumerConfigOpt func(config *ConsumerConfig) *ConsumerConfig
/////////////////////////////////// consumer config api ConsumerConfigOpt is the options to init ConsumerConfig
func WithConsumerAppConfig ¶ added in v1.5.6
func WithConsumerAppConfig(appConfig *ApplicationConfig) ConsumerConfigOpt
WithConsumerAppConfig returns ConsumerConfigOpt with given @appConfig
func WithConsumerConfigCenterConfig ¶ added in v1.5.6
func WithConsumerConfigCenterConfig(configCenterConfig *ConfigCenterConfig) ConsumerConfigOpt
WithConsumerConfigCenterConfig returns ConsumerConfigOpt with given @configCenterConfig
func WithConsumerConfigCheck ¶ added in v1.5.6
func WithConsumerConfigCheck(check bool) ConsumerConfigOpt
WithConsumerConfigCheck returns ConsumerConfigOpt with given @check flag
func WithConsumerConnTimeout ¶ added in v1.5.6
func WithConsumerConnTimeout(timeout time.Duration) ConsumerConfigOpt
WithConsumerConnTimeout returns ConsumerConfigOpt with given consumer conn @timeout
func WithConsumerReferenceConfig ¶ added in v1.5.6
func WithConsumerReferenceConfig(referenceKey string, refConfig *ReferenceConfig) ConsumerConfigOpt
WithConsumerReferenceConfig returns ConsumerConfigOpt with
func WithConsumerRegistryConfig ¶ added in v1.5.6
func WithConsumerRegistryConfig(registryKey string, regConfig *RegistryConfig) ConsumerConfigOpt
WithConsumerRegistryConfig returns ConsumerConfigOpt with given @registryKey and @regConfig
func WithConsumerRequestTimeout ¶ added in v1.5.6
func WithConsumerRequestTimeout(timeout time.Duration) ConsumerConfigOpt
WithConsumerRequestTimeout returns ConsumerConfigOpt with given consumer request @timeout
type GenericService ¶ added in v1.2.0
type GenericService struct { Invoke func(ctx context.Context, req []interface{}) (interface{}, error) `dubbo:"$invoke"` // contains filtered or unexported fields }
GenericService uses for generic invoke for service call
func NewGenericService ¶ added in v1.2.0
func NewGenericService(referenceStr string) *GenericService
NewGenericService returns a GenericService instance
func (*GenericService) Reference ¶ added in v1.2.0
func (u *GenericService) Reference() string
Reference gets referenceStr from GenericService
type GenericService2 ¶ added in v1.5.7
type GenericService2 struct { // Invoke this field will inject impl by proxy, returns (result interface{}, attachments map[string]interface{}, err error) Invoke func(ctx context.Context, args []interface{}) (interface{}, map[string]interface{}, error) `dubbo:"$invoke"` // contains filtered or unexported fields }
GenericService2 uses for generic invoke for service call, Unlike GenericService, it returns a tuple (interface{}, map[string]interface{}, error) called by DubboRPC, which contains the Attachments data returned by the DubboProvider interface
func NewGenericService2 ¶ added in v1.5.7
func NewGenericService2(referenceStr string) *GenericService2
NewGenericService2 returns a GenericService2 instance
func (*GenericService2) Reference ¶ added in v1.5.7
func (u *GenericService2) Reference() string
Reference gets referenceStr from GenericService2
type LocalRouterRules ¶ added in v1.5.1
type LocalRouterRules struct {
RouterRules []interface{} `yaml:"routerRules"`
}
LocalRouterRules defines the local router config structure
type MetadataReportConfig ¶ added in v1.5.0
type MetadataReportConfig struct { Protocol string `required:"true" yaml:"protocol" json:"protocol,omitempty" property:"protocol"` RemoteRef string `required:"true" yaml:"remote_ref" json:"remote_ref,omitempty" property:"remote_ref"` Params map[string]string `yaml:"params" json:"params,omitempty" property:"params"` Group string `yaml:"group" json:"group,omitempty" property:"group"` }
MethodConfig is method level configuration
func (*MetadataReportConfig) IsValid ¶ added in v1.5.0
func (c *MetadataReportConfig) IsValid() bool
func (*MetadataReportConfig) Prefix ¶ added in v1.5.0
func (c *MetadataReportConfig) Prefix() string
nolint
func (*MetadataReportConfig) ToUrl ¶ added in v1.5.0
func (c *MetadataReportConfig) ToUrl() (*common.URL, error)
nolint
func (*MetadataReportConfig) UnmarshalYAML ¶ added in v1.5.0
func (c *MetadataReportConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshal the MetadataReportConfig by @unmarshal function
type MethodConfig ¶
type MethodConfig struct { InterfaceId string InterfaceName string Name string `yaml:"name" json:"name,omitempty" property:"name"` Retries string `yaml:"retries" json:"retries,omitempty" property:"retries"` LoadBalance string `yaml:"loadbalance" json:"loadbalance,omitempty" property:"loadbalance"` Weight int64 `yaml:"weight" json:"weight,omitempty" property:"weight"` TpsLimitInterval string `yaml:"tps.limit.interval" json:"tps.limit.interval,omitempty" property:"tps.limit.interval"` TpsLimitRate string `yaml:"tps.limit.rate" json:"tps.limit.rate,omitempty" property:"tps.limit.rate"` TpsLimitStrategy string `yaml:"tps.limit.strategy" json:"tps.limit.strategy,omitempty" property:"tps.limit.strategy"` ExecuteLimit string `yaml:"execute.limit" json:"execute.limit,omitempty" property:"execute.limit"` ExecuteLimitRejectedHandler string `` /* 127-byte string literal not displayed */ Sticky bool `yaml:"sticky" json:"sticky,omitempty" property:"sticky"` RequestTimeout string `yaml:"timeout" json:"timeout,omitempty" property:"timeout"` }
MethodConfig defines method config
func (*MethodConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *MethodConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the MethodConfig by @unmarshal function
type MetricConfig ¶ added in v1.4.0
type MetricConfig struct { Reporters []string `yaml:"reporters" json:"reporters,omitempty"` HistogramBucket []float64 `yaml:"histogram_bucket" json:"histogram_bucket,omitempty"` }
This is the config struct for all metrics implementation
func GetMetricConfig ¶ added in v1.4.0
func GetMetricConfig() *MetricConfig
GetMetricConfig find the MetricConfig if it is nil, create a new one we use double-check to reduce race condition In general, it will be locked 0 or 1 time. So you don't need to worry about the race condition
func (*MetricConfig) GetHistogramBucket ¶ added in v1.4.0
func (mc *MetricConfig) GetHistogramBucket() []float64
find the histogram bucket if it's empty, the default value will be return
type MockService ¶
type MockService struct{}
MockService mocks the rpc service for test
func (*MockService) GetUser ¶
func (*MockService) GetUser(ctx context.Context, itf []interface{}, str *struct{}) error
GetUser mocks the GetUser method
func (*MockService) GetUser1 ¶
func (*MockService) GetUser1(ctx context.Context, itf []interface{}, str *struct{}) error
GetUser1 mocks the GetUser1 method
func (*MockService) Reference ¶ added in v1.2.0
func (*MockService) Reference() string
Reference mocks the Reference method
type ProtocolConfig ¶
type ProtocolConfig struct { Name string `required:"true" yaml:"name" json:"name,omitempty" property:"name"` Ip string `required:"true" yaml:"ip" json:"ip,omitempty" property:"ip"` Port string `required:"true" yaml:"port" json:"port,omitempty" property:"port"` Payload int `yaml:"payload" json:"payload,omitempty" property:"payload"` }
ProtocolConfig is protocol configuration
type ProviderConfig ¶
type ProviderConfig struct { BaseConfig `yaml:",inline" property:"base"` Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"` ProxyFactory string `yaml:"proxy_factory" default:"default" json:"proxy_factory,omitempty" property:"proxy_factory"` Services map[string]*ServiceConfig `yaml:"services" json:"services,omitempty" property:"services"` Protocols map[string]*ProtocolConfig `yaml:"protocols" json:"protocols,omitempty" property:"protocols"` ProtocolConf interface{} `yaml:"protocol_conf" json:"protocol_conf,omitempty" property:"protocol_conf"` FilterConf interface{} `yaml:"filter_conf" json:"filter_conf,omitempty" property:"filter_conf"` ShutdownConfig *ShutdownConfig `yaml:"shutdown_conf" json:"shutdown_conf,omitempty" property:"shutdown_conf"` ConfigType map[string]string `yaml:"config_type" json:"config_type,omitempty" property:"config_type"` Registry *RegistryConfig `yaml:"registry" json:"registry,omitempty" property:"registry"` Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"` // contains filtered or unexported fields }
/////////////////////// providerConfig /////////////////////// ProviderConfig is the default configuration of service provider
func GetProviderConfig ¶
func GetProviderConfig() ProviderConfig
GetProviderConfig find the provider config if not found, create new one
func NewDefaultProviderConfig ¶ added in v1.5.6
func NewDefaultProviderConfig() *ProviderConfig
NewDefaultProviderConfig returns ProviderConfig with default ApplicationConfig
func NewProviderConfig ¶ added in v1.5.6
func NewProviderConfig(opts ...ProviderConfigOpt) *ProviderConfig
NewProviderConfig returns ProviderConfig with given @opts
func (*ProviderConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *ProviderConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ProviderConfig by @unmarshal function
type ProviderConfigOpt ¶ added in v1.5.6
type ProviderConfigOpt func(config *ProviderConfig) *ProviderConfig
/////////////////////////////////// provider config api ProviderConfigOpt is the
func WithPrividerRegistryConfig ¶ added in v1.5.6
func WithPrividerRegistryConfig(regConfig *RegistryConfig) ProviderConfigOpt
WithPrividerRegistryConfig returns ProviderConfigOpt with given registry config: @regConfig
func WithProviderAppConfig ¶ added in v1.5.6
func WithProviderAppConfig(appConfig *ApplicationConfig) ProviderConfigOpt
WithProviderAppConfig returns ProviderConfigOpt with given @appConfig
func WithProviderProtocol ¶ added in v1.5.6
func WithProviderProtocol(protocolKey, protocol, port string) ProviderConfigOpt
WithProviderProtocol returns ProviderConfigOpt with given @protocolKey, protocolName @protocol and @port
func WithProviderRegistry ¶ added in v1.5.6
func WithProviderRegistry(registryKey string, registryConfig *RegistryConfig) ProviderConfigOpt
WithProviderRegistry returns ProviderConfigOpt with given @registryKey and registry @registryConfig
func WithProviderServices ¶ added in v1.5.6
func WithProviderServices(serviceName string, serviceConfig *ServiceConfig) ProviderConfigOpt
WithProviderServices returns ProviderConfig with given serviceNameKey @serviceName and @serviceConfig
type ReferenceConfig ¶
type ReferenceConfig struct { InterfaceName string `required:"true" yaml:"interface" json:"interface,omitempty" property:"interface"` Check *bool `yaml:"check" json:"check,omitempty" property:"check"` URL string `yaml:"url" json:"url,omitempty" property:"url"` Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"` Protocol string `default:"dubbo" yaml:"protocol" json:"protocol,omitempty" property:"protocol"` Registry string `yaml:"registry" json:"registry,omitempty" property:"registry"` Cluster string `yaml:"cluster" json:"cluster,omitempty" property:"cluster"` Loadbalance string `yaml:"loadbalance" json:"loadbalance,omitempty" property:"loadbalance"` Retries string `yaml:"retries" json:"retries,omitempty" property:"retries"` Group string `yaml:"group" json:"group,omitempty" property:"group"` Version string `yaml:"version" json:"version,omitempty" property:"version"` ProvideBy string `yaml:"provide_by" json:"provide_by,omitempty" property:"provide_by"` Methods []*MethodConfig `yaml:"methods" json:"methods,omitempty" property:"methods"` Async bool `yaml:"async" json:"async,omitempty" property:"async"` Params map[string]string `yaml:"params" json:"params,omitempty" property:"params"` Generic bool `yaml:"generic" json:"generic,omitempty" property:"generic"` Sticky bool `yaml:"sticky" json:"sticky,omitempty" property:"sticky"` RequestTimeout string `yaml:"timeout" json:"timeout,omitempty" property:"timeout"` ForceTag bool `yaml:"force.tag" json:"force.tag,omitempty" property:"force.tag"` Protocols map[string]*ProtocolConfig // contains filtered or unexported fields }
ReferenceConfig is the configuration of service consumer
func NewDefaultReferenceConfig ¶ added in v1.5.6
func NewDefaultReferenceConfig() *ReferenceConfig
NewDefaultReferenceConfig returns empty ReferenceConfig
func NewReferenceConfig ¶
func NewReferenceConfig(id string, ctx context.Context) *ReferenceConfig
NewReferenceConfig The only way to get a new ReferenceConfig
func NewReferenceConfigByAPI ¶ added in v1.5.6
func NewReferenceConfigByAPI(opts ...ReferenceConfigOpt) *ReferenceConfig
NewReferenceConfigByAPI returns ReferenceConfig with given @opts
func (*ReferenceConfig) GenericLoad ¶ added in v1.2.0
func (c *ReferenceConfig) GenericLoad(id string)
GenericLoad start config center, and create generic service with referenceKey @id
func (*ReferenceConfig) GetInvoker ¶ added in v1.5.6
func (c *ReferenceConfig) GetInvoker() protocol.Invoker
GetInvoker get invoker from ReferenceConfig
func (*ReferenceConfig) GetProxy ¶ added in v1.5.6
func (c *ReferenceConfig) GetProxy() *proxy.Proxy
GetProxy gets proxy
func (*ReferenceConfig) GetRPCService ¶
func (c *ReferenceConfig) GetRPCService() common.RPCService
GetRPCService gets RPCService from proxy
func (*ReferenceConfig) Implement ¶
func (c *ReferenceConfig) Implement(v common.RPCService)
Implement @v is service provider implemented RPCService
func (*ReferenceConfig) UnmarshalYAML ¶
func (c *ReferenceConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ReferenceConfig by @unmarshal function
type ReferenceConfigOpt ¶ added in v1.5.6
type ReferenceConfigOpt func(config *ReferenceConfig) *ReferenceConfig
////////////////////////////////// reference config api ReferenceConfigOpt is consumer's reference config
func WithReferenceCluster ¶ added in v1.5.6
func WithReferenceCluster(cluster string) ReferenceConfigOpt
WithReferenceCluster returns ReferenceConfigOpt with given cluster name: @cluster
func WithReferenceInterface ¶ added in v1.5.6
func WithReferenceInterface(interfaceName string) ReferenceConfigOpt
WithReferenceInterface returns ReferenceConfigOpt with given @interfaceName
func WithReferenceMethod ¶ added in v1.5.6
func WithReferenceMethod(methodName, retries, lb string) ReferenceConfigOpt
WithReferenceMethod returns ReferenceConfigOpt with given @method, @retries, and load balance: @lb
func WithReferenceProtocol ¶ added in v1.5.6
func WithReferenceProtocol(protocol string) ReferenceConfigOpt
WithReferenceProtocol returns ReferenceConfigOpt with given protocolKey: @protocol
func WithReferenceRegistry ¶ added in v1.5.6
func WithReferenceRegistry(registry string) ReferenceConfigOpt
WithReferenceRegistry returns ReferenceConfigOpt with given registryKey: @registry
type RegistryConfig ¶
type RegistryConfig struct { Protocol string `required:"true" yaml:"protocol" json:"protocol,omitempty" property:"protocol"` // I changed "type" to "protocol" ,the same as "protocol" field in java class RegistryConfig TimeoutStr string `yaml:"timeout" default:"5s" json:"timeout,omitempty" property:"timeout"` // unit: second Group string `yaml:"group" json:"group,omitempty" property:"group"` TTL string `yaml:"ttl" default:"10m" json:"ttl,omitempty" property:"ttl"` // unit: minute // for registry Address string `yaml:"address" json:"address,omitempty" property:"address"` Username string `yaml:"username" json:"username,omitempty" property:"username"` Password string `yaml:"password" json:"password,omitempty" property:"password"` Simplified bool `yaml:"simplified" json:"simplified,omitempty" property:"simplified"` // Always use this registry first if set to true, useful when subscribe to multiple registries Preferred bool `yaml:"preferred" json:"preferred,omitempty" property:"preferred"` // The region where the registry belongs, usually used to isolate traffics Zone string `yaml:"zone" json:"zone,omitempty" property:"zone"` //// Force must user the region, property zone is specified. //ZoneForce bool `yaml:"zoneForce" json:"zoneForce,omitempty" property:"zoneForce"` // Affects traffic distribution among registries, // useful when subscribe to multiple registries Take effect only when no preferred registry is specified. Weight int64 `yaml:"weight" json:"weight,omitempty" property:"weight"` Params map[string]string `yaml:"params" json:"params,omitempty" property:"params"` }
RegistryConfig is the configuration of the registry center
func NewDefaultRegistryConfig ¶ added in v1.5.6
func NewDefaultRegistryConfig(protocol string) *RegistryConfig
NewDefaultRegistryConfig New default registry config the input @protocol can only be: "zookeeper" with default addr "127.0.0.1:2181" "consul" with default addr "127.0.0.1:8500" "nacos" with default addr "127.0.0.1:8848"
func NewRegistryConfig ¶ added in v1.5.6
func NewRegistryConfig(opts ...RegistryConfigOpt) *RegistryConfig
NewRegistryConfig creates New RegistryConfig with @opts
func (*RegistryConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *RegistryConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the RegistryConfig by @unmarshal function
type RegistryConfigOpt ¶ added in v1.5.6
type RegistryConfigOpt func(config *RegistryConfig) *RegistryConfig
/////////////////////////////////// registry config api
func WithRegistryAddress ¶ added in v1.5.6
func WithRegistryAddress(addr string) RegistryConfigOpt
WithRegistryAddress returns RegistryConfigOpt with given @addr registry address
func WithRegistryGroup ¶ added in v1.5.6
func WithRegistryGroup(group string) RegistryConfigOpt
WithRegistryGroup returns RegistryConfigOpt with given @group registry group
func WithRegistryParams ¶ added in v1.5.6
func WithRegistryParams(params map[string]string) RegistryConfigOpt
WithRegistryParams returns RegistryConfigOpt with given registry @params
func WithRegistryPassword ¶ added in v1.5.6
func WithRegistryPassword(psw string) RegistryConfigOpt
WithRegistryPassword returns RegistryConfigOpt with given @psw registry password
func WithRegistryPreferred ¶ added in v1.5.6
func WithRegistryPreferred(preferred bool) RegistryConfigOpt
WithRegistryPreferred returns RegistryConfig with given @preferred registry preferred flag
func WithRegistryProtocol ¶ added in v1.5.6
func WithRegistryProtocol(regProtocol string) RegistryConfigOpt
WithRegistryProtocol returns RegistryConfigOpt with given @regProtocol name
func WithRegistrySimplified ¶ added in v1.5.6
func WithRegistrySimplified(simplified bool) RegistryConfigOpt
WithRegistrySimplified returns RegistryConfigOpt with given @simplified registry simplified flag
func WithRegistryTTL ¶ added in v1.5.6
func WithRegistryTTL(ttl string) RegistryConfigOpt
WithRegistryTTL returns RegistryConfigOpt with given @ttl registry ttl
func WithRegistryTimeOut ¶ added in v1.5.6
func WithRegistryTimeOut(timeout string) RegistryConfigOpt
WithRegistryTimeOut returns RegistryConfigOpt with given @timeout registry config
func WithRegistryUserName ¶ added in v1.5.6
func WithRegistryUserName(userName string) RegistryConfigOpt
WithRegistryUserName returns RegistryConfigOpt with given @userName registry userName
func WithRegistryWeight ¶ added in v1.5.6
func WithRegistryWeight(weight int64) RegistryConfigOpt
WithRegistryWeight returns RegistryConfigOpt with given @weight registry weight flag
type RemoteConfig ¶ added in v1.5.0
type RemoteConfig struct { Protocol string `yaml:"protocol" json:"protocol,omitempty" property:"protocol"` Address string `yaml:"address" json:"address,omitempty" property:"address"` TimeoutStr string `default:"5s" yaml:"timeout" json:"timeout,omitempty" property:"timeout"` Username string `yaml:"username" json:"username,omitempty" property:"username"` Password string `yaml:"password" json:"password,omitempty" property:"password"` Params map[string]string `yaml:"params" json:"params,omitempty"` }
RemoteConfig: usually we need some middleware, including nacos, zookeeper this represents an instance of this middleware so that other module, like config center, registry could reuse the config but now, only metadata report, metadata service, service discovery use this structure
func (*RemoteConfig) GetParam ¶ added in v1.5.0
func (rc *RemoteConfig) GetParam(key string, def string) string
GetParam will return the value of the key. If not found, def will be return; def => default value
func (*RemoteConfig) Timeout ¶ added in v1.5.0
func (rc *RemoteConfig) Timeout() time.Duration
Timeout return timeout duration. if the configure is invalid, or missing, the default value 5s will be returned
type ServiceConfig ¶
type ServiceConfig struct { Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"` Protocol string `default:"dubbo" required:"true" yaml:"protocol" json:"protocol,omitempty" property:"protocol"` // multi protocol support, split by ',' InterfaceName string `required:"true" yaml:"interface" json:"interface,omitempty" property:"interface"` Registry string `yaml:"registry" json:"registry,omitempty" property:"registry"` Cluster string `default:"failover" yaml:"cluster" json:"cluster,omitempty" property:"cluster"` Loadbalance string `default:"random" yaml:"loadbalance" json:"loadbalance,omitempty" property:"loadbalance"` Group string `yaml:"group" json:"group,omitempty" property:"group"` Version string `yaml:"version" json:"version,omitempty" property:"version" ` Methods []*MethodConfig `yaml:"methods" json:"methods,omitempty" property:"methods"` Warmup string `yaml:"warmup" json:"warmup,omitempty" property:"warmup"` Retries string `yaml:"retries" json:"retries,omitempty" property:"retries"` Serialization string `yaml:"serialization" json:"serialization" property:"serialization"` Params map[string]string `yaml:"params" json:"params,omitempty" property:"params"` Token string `yaml:"token" json:"token,omitempty" property:"token"` AccessLog string `yaml:"accesslog" json:"accesslog,omitempty" property:"accesslog"` TpsLimiter string `yaml:"tps.limiter" json:"tps.limiter,omitempty" property:"tps.limiter"` TpsLimitInterval string `yaml:"tps.limit.interval" json:"tps.limit.interval,omitempty" property:"tps.limit.interval"` TpsLimitRate string `yaml:"tps.limit.rate" json:"tps.limit.rate,omitempty" property:"tps.limit.rate"` TpsLimitStrategy string `yaml:"tps.limit.strategy" json:"tps.limit.strategy,omitempty" property:"tps.limit.strategy"` TpsLimitRejectedHandler string `yaml:"tps.limit.rejected.handler" json:"tps.limit.rejected.handler,omitempty" property:"tps.limit.rejected.handler"` ExecuteLimit string `yaml:"execute.limit" json:"execute.limit,omitempty" property:"execute.limit"` ExecuteLimitRejectedHandler string `` /* 127-byte string literal not displayed */ Auth string `yaml:"auth" json:"auth,omitempty" property:"auth"` ParamSign string `yaml:"param.sign" json:"param.sign,omitempty" property:"param.sign"` Tag string `yaml:"tag" json:"tag,omitempty" property:"tag"` GrpcMaxMessageSize int `default:"4" yaml:"max_message_size" json:"max_message_size,omitempty"` Protocols map[string]*ProtocolConfig // contains filtered or unexported fields }
ServiceConfig is the configuration of the service provider
func NewDefaultServiceConfig ¶ added in v1.5.6
func NewDefaultServiceConfig() *ServiceConfig
NewDefaultServiceConfig returns default ServiceConfig
func NewServiceConfig ¶
func NewServiceConfig(id string, context context.Context) *ServiceConfig
NewServiceConfig The only way to get a new ServiceConfig
func NewServiceConfigByAPI ¶ added in v1.5.6
func NewServiceConfigByAPI(opts ...ServiceConfigOpt) *ServiceConfig
NewServiceConfigByAPI is named as api, because there is NewServiceConfig func already declared NewServiceConfigByAPI returns ServiceConfig with given @opts
func (*ServiceConfig) GetExportedUrls ¶ added in v1.5.0
func (c *ServiceConfig) GetExportedUrls() []*common.URL
GetExportedUrls will return the url in service config's exporter
func (*ServiceConfig) Implement ¶
func (c *ServiceConfig) Implement(s common.RPCService)
Implement only store the @s and return
func (*ServiceConfig) InitExported ¶ added in v1.5.0
func (c *ServiceConfig) InitExported()
InitExported will set exported as false atom bool
func (*ServiceConfig) IsExport ¶ added in v1.5.0
func (c *ServiceConfig) IsExport() bool
IsExport will return whether the service config is exported or not
func (*ServiceConfig) Prefix ¶
func (c *ServiceConfig) Prefix() string
Prefix returns dubbo.service.${interface}.
func (*ServiceConfig) Unexport ¶ added in v1.5.0
func (c *ServiceConfig) Unexport()
Unexport will call unexport of all exporters service config exported
func (*ServiceConfig) UnmarshalYAML ¶ added in v1.2.0
func (c *ServiceConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals the ServiceConfig by @unmarshal function
type ServiceConfigOpt ¶ added in v1.5.6
type ServiceConfigOpt func(config *ServiceConfig) *ServiceConfig
///////////////////////////////////// service config api ServiceConfigOpt is the option to init ServiceConfig
func WithServiceCluster ¶ added in v1.5.6
func WithServiceCluster(cluster string) ServiceConfigOpt
WithServiceCluster returns ServiceConfigOpt with given cluster name @cluster
func WithServiceInterface ¶ added in v1.5.6
func WithServiceInterface(interfaceName string) ServiceConfigOpt
WithServiceInterface returns ServiceConfigOpt with given @interfaceName
func WithServiceLoadBalance ¶ added in v1.5.6
func WithServiceLoadBalance(lb string) ServiceConfigOpt
WithServiceLoadBalance returns ServiceConfigOpt with given load balance @lb
func WithServiceMethod ¶ added in v1.5.6
func WithServiceMethod(name, retries, lb string) ServiceConfigOpt
WithServiceMethod returns ServiceConfigOpt with given @name, @retries and load balance @lb
func WithServiceProtocol ¶ added in v1.5.6
func WithServiceProtocol(protocol string) ServiceConfigOpt
WithServiceProtocol returns ServiceConfigOpt with given protocolKey @protocol
func WithServiceRegistry ¶ added in v1.5.6
func WithServiceRegistry(registry string) ServiceConfigOpt
WithServiceRegistry returns ServiceConfigOpt with given registryKey @registry
func WithServiceWarmUpTime ¶ added in v1.5.6
func WithServiceWarmUpTime(warmUp string) ServiceConfigOpt
WithServiceWarmUpTime returns ServiceConfigOpt with given @warmUp time
type ServiceDiscoveryConfig ¶ added in v1.5.0
type ServiceDiscoveryConfig struct { // Protocol indicate which implementation will be used. // for example, if the Protocol is nacos, it means that we will use nacosServiceDiscovery Protocol string `yaml:"protocol" json:"protocol,omitempty" property:"protocol"` // Group, usually you don't need to config this field. // you can use this to do some isolation Group string `yaml:"group" json:"group,omitempty"` // RemoteRef is the reference point to RemoteConfig which will be used to create remotes instances. RemoteRef string `yaml:"remote_ref" json:"remote_ref,omitempty" property:"remote_ref"` }
ServiceDiscoveryConfig will be used to create
func (*ServiceDiscoveryConfig) Prefix ¶ added in v1.5.7
func (c *ServiceDiscoveryConfig) Prefix() string
Prefix
type ShutdownConfig ¶ added in v1.3.0
type ShutdownConfig struct { /* * Total timeout. Even though we don't release all resources, * the application will shutdown if the costing time is over this configuration. The unit is ms. * default value is 60 * 1000 ms = 1 minutes * In general, it should be bigger than 3 * StepTimeout. */ Timeout string `default:"60s" yaml:"timeout" json:"timeout,omitempty" property:"timeout"` /* * the timeout on each step. You should evaluate the response time of request * and the time that client noticed that server shutdown. * For example, if your client will received the notification within 10s when you start to close server, * and the 99.9% requests will return response in 2s, so the StepTimeout will be bigger than(10+2) * 1000ms, * maybe (10 + 2*3) * 1000ms is a good choice. */ StepTimeout string `default:"10s" yaml:"step_timeout" json:"step.timeout,omitempty" property:"step.timeout"` // when we try to shutdown the application, we will reject the new requests. In most cases, you don't need to configure this. RejectRequestHandler string `yaml:"reject_handler" json:"reject_handler,omitempty" property:"reject_handler"` // true -> new request will be rejected. RejectRequest bool // true -> all requests had been processed. In provider side it means that all requests are returned response to clients // In consumer side, it means that all requests getting response from servers RequestsFinished bool }
ShutdownConfig is used as configuration for graceful shutdown
func (*ShutdownConfig) GetStepTimeout ¶ added in v1.3.0
func (config *ShutdownConfig) GetStepTimeout() time.Duration
nolint
func (*ShutdownConfig) GetTimeout ¶ added in v1.3.0
func (config *ShutdownConfig) GetTimeout() time.Duration
nolint
func (*ShutdownConfig) Prefix ¶ added in v1.3.0
func (config *ShutdownConfig) Prefix() string
nolint
Source Files ¶
- application_config.go
- base_config.go
- config_api.go
- config_center_config.go
- config_loader.go
- config_utils.go
- consumer_config.go
- generic_service.go
- generic_service_ext.go
- graceful_shutdown.go
- graceful_shutdown_config.go
- graceful_shutdown_signal_linux.go
- metadata_report_config.go
- method_config.go
- metric_config.go
- mock_rpcservice.go
- protocol_config.go
- provider_config.go
- reference_config.go
- registry_config.go
- remote_config.go
- router_config.go
- service.go
- service_config.go
- service_discovery_config.go
- ssl_config.go