Documentation
¶
Overview ¶
Package config defines a series of configuration, include yaml configuration, remote configuration and integration configuration which contains the above two configurations.
Index ¶
- func ValidateClusterConfiguration(configuration *ClusterConfiguration) error
- type ClusterConfiguration
- type DataSourceConfiguration
- type IntegrationClusterConfiguration
- type NodeConfiguration
- type RemoteClusterConfiguration
- type RemoteDataSourceConfiguration
- type RetryConfiguration
- type RouterConfiguration
- type RouterConfigurationListener
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateClusterConfiguration ¶
func ValidateClusterConfiguration(configuration *ClusterConfiguration) error
ValidateClusterConfiguration returns err if clusterConfiguration is invalid
Types ¶
type ClusterConfiguration ¶
type ClusterConfiguration struct {
Props *mas.PropertiesConfiguration `yaml:"props"`
EtcdConfig *etcd.EtcdConfiguration `yaml:"etcd"`
RouterConfig *RouterConfiguration `yaml:"router"`
DataSource map[string]*DataSourceConfiguration `yaml:"datasource"`
Chaos *mas.InjectionProperties `yaml:"chaos"`
}
ClusterConfiguration yaml cluster configuration entity
func Unmarshal ¶
func Unmarshal(yamlFilePath string) (*ClusterConfiguration, error)
Unmarshal yamlConfigFile to *ClusterConfiguration
type DataSourceConfiguration ¶
type DataSourceConfiguration struct {
URL string `yaml:"url"` // dsn format, `protocol(address)/dbname?param=value`
Username string `yaml:"username"`
Password string `yaml:"password"`
Region string
Server string
Schema string
}
DataSourceConfiguration contains yaml datasource configuration and remote datasource configuration
type IntegrationClusterConfiguration ¶
type IntegrationClusterConfiguration struct {
ClusterConfiguration *ClusterConfiguration
RemoteClusterConfiguration *RemoteClusterConfiguration
}
IntegrationClusterConfiguration combine yaml cluster datasource configuration and etcd remote cluster configuration
func (*IntegrationClusterConfiguration) GetDataSource ¶
func (c *IntegrationClusterConfiguration) GetDataSource() map[string]*DataSourceConfiguration
GetDataSource Get datasource configuration map through merge local cluster configuration and remote cluster configuration.
func (*IntegrationClusterConfiguration) GetRouterConfig ¶
func (c *IntegrationClusterConfiguration) GetRouterConfig() *RouterConfiguration
GetRouterConfig Get router configuration map through merge local cluster configuration and remote cluster configuration.
type NodeConfiguration ¶
type NodeConfiguration struct {
Weight int `yaml:"weight"`
Master string `yaml:"master"`
LoadBalance string `yaml:"loadBalance"`
Slaves []string `yaml:"slaves"`
}
NodeConfiguration yaml node configuration entity
type RemoteClusterConfiguration ¶
type RemoteClusterConfiguration struct {
DataSources map[string]*RemoteDataSourceConfiguration
RouterConfig *RouterConfiguration
}
RemoteClusterConfiguration contains datasources map and router config
func NewRemoteClusterConfiguration ¶
func NewRemoteClusterConfiguration(dataSourceConfigStr string, routerConfigStr string) *RemoteClusterConfiguration
NewRemoteClusterConfiguration with remote datasourceConfig and routerConfig
type RemoteDataSourceConfiguration ¶
type RemoteDataSourceConfiguration struct {
Server string
Schema string
Username string
Password string
Region string
Cloud string
}
RemoteDataSourceConfiguration etcd remote datasource configuration
type RetryConfiguration ¶
RetryConfiguration yaml retry configuration entity
type RouterConfiguration ¶
type RouterConfiguration struct {
Retry *RetryConfiguration `yaml:"retry"`
Nodes map[string]*NodeConfiguration `yaml:"nodes"`
Active string `yaml:"active"`
RouteAlgorithm string `yaml:"routeAlgorithm"`
}
RouterConfiguration yaml router configuration entity
type RouterConfigurationListener ¶
type RouterConfigurationListener interface {
// OnChanged when active data changes will call back
OnChanged(configuration *RouterConfiguration)
}
RouterConfigurationListener remote router configuration listener
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package loader provides ConfigurationFileHandler and RemoteConfigurationLoader, the ConfigurationFileHandler is used for load config from cache and save remote config to cache, the RemoteConfigurationLoader is used for load config from remote etcd.
|
Package loader provides ConfigurationFileHandler and RemoteConfigurationLoader, the ConfigurationFileHandler is used for load config from cache and save remote config to cache, the RemoteConfigurationLoader is used for load config from remote etcd. |