Documentation
¶
Index ¶
- type ClientParameters
- type Configuration
- type DataSource
- type DataSourceRef
- type DataSourceRefGroup
- type DataSourceRole
- type DataSourceType
- type DistributedTransaction
- type EnforcementPolicy
- type ExecuteMode
- type Executor
- type Filter
- type Listener
- type LogicTable
- type Parameters
- type ProtocolType
- type ReadWriteSplittingConfig
- type ServerParameters
- type ShardingConfig
- type ShardingRule
- type SocketAddress
- type Storage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientParameters ¶
type Configuration ¶
type Configuration struct {
Listeners []*Listener `yaml:"listeners" json:"listeners"`
Executors []*Executor `yaml:"executors" json:"executors"`
Filters []*Filter `yaml:"filters" json:"filters"`
DataSources []*DataSource `yaml:"data_source_cluster" json:"data_source_cluster"`
DistributedTransaction *DistributedTransaction `yaml:"distributed_transaction" json:"distributed_transaction"`
TerminationDrainDuration time.Duration `yaml:"termination_drain_duration" json:"termination_drain_duration"`
HTTPListenPort *int `yaml:"http_listen_port"`
}
type DataSource ¶
type DataSource struct {
Name string `yaml:"name" json:"name"`
DSN string `yaml:"dsn" json:"dsn"`
Capacity int `yaml:"capacity" json:"capacity"` // connection pool capacity
MaxCapacity int `yaml:"max_capacity" json:"max_capacity"` // max connection pool capacity
IdleTimeout time.Duration `yaml:"idle_timeout" json:"idle_timeout"` // close backend direct connection after idle_timeout,unit: seconds
PingInterval time.Duration `yaml:"ping_interval" json:"ping_interval"`
PingTimesForChangeStatus int `yaml:"ping_times_for_change_status" json:"ping_times_for_change_status"`
Filters []string `yaml:"filters" json:"filters"`
}
DataSource ...
type DataSourceRef ¶
type DataSourceRefGroup ¶
type DataSourceRefGroup struct {
Name string `yaml:"name" json:"name"`
LBAlgorithm lb.LoadBalanceAlgorithm `yaml:"load_balance_algorithm" json:"load_balance_algorithm"`
DataSources []*DataSourceRef `yaml:"data_sources" json:"data_sources"`
}
type DataSourceRole ¶
type DataSourceRole int
DataSourceRole ...
const ( Master DataSourceRole = iota Slave Meta )
func (*DataSourceRole) UnmarshalText ¶
func (r *DataSourceRole) UnmarshalText(text []byte) error
type DataSourceType ¶
type DataSourceType int
DataSourceType ...
const ( DBMysql DataSourceType = iota DBPostgresSql )
func (*DataSourceType) UnmarshalText ¶
func (t *DataSourceType) UnmarshalText(text []byte) error
type DistributedTransaction ¶
type DistributedTransaction struct {
ApplicationID string `yaml:"appid" json:"appid"`
RetryDeadThreshold int64 `yaml:"retry_dead_threshold" json:"retry_dead_threshold"`
RollbackRetryTimeoutUnlockEnable bool `yaml:"rollback_retry_timeout_unlock_enable" json:"rollback_retry_timeout_unlock_enable"`
EtcdConfig clientv3.Config `yaml:"etcd_config" json:"etcd_config"`
}
type EnforcementPolicy ¶
type ExecuteMode ¶
type ExecuteMode byte
const ( SDB ExecuteMode = iota RWS SHD )
func (ExecuteMode) String ¶
func (m ExecuteMode) String() string
func (*ExecuteMode) UnmarshalText ¶
func (m *ExecuteMode) UnmarshalText(text []byte) error
type Executor ¶
type Executor struct {
Name string `yaml:"name" json:"name"`
Mode ExecuteMode `yaml:"mode" json:"mode"`
Config Parameters `yaml:"config" json:"config"`
Filters []string `yaml:"filters" json:"filters"`
}
type Filter ¶
type Filter struct {
Name string `yaml:"name" json:"name"`
Kind string `yaml:"kind" json:"kind"`
Config Parameters `yaml:"conf,omitempty" json:"conf,omitempty"`
}
type Listener ¶
type Listener struct {
ProtocolType ProtocolType `yaml:"protocol_type" json:"protocol_type"`
SocketAddress SocketAddress `yaml:"socket_address" json:"socket_address"`
Filters []string `yaml:"filters" json:"filters"`
Config Parameters `yaml:"config" json:"config"`
Executor string `yaml:"executor" json:"executor"`
}
type LogicTable ¶
type LogicTable struct {
DBName string `yaml:"db_name" json:"db_name"`
TableName string `yaml:"table_name" json:"table_name"`
AllowFullScan bool `yaml:"allow_full_scan" json:"allow_full_scan"`
ShardingRule *ShardingRule `yaml:"sharding_rule" json:"sharding_rule"`
Topology map[int]string `yaml:"topology" json:"topology"`
}
type Parameters ¶
type Parameters map[string]interface{}
Parameters defines a key-value parameters mapping
type ProtocolType ¶
type ProtocolType int32
ProtocolType protocol type enum
const ( Http ProtocolType = iota Mysql )
func (*ProtocolType) UnmarshalText ¶
func (t *ProtocolType) UnmarshalText(text []byte) error
type ReadWriteSplittingConfig ¶
type ReadWriteSplittingConfig struct {
LoadBalanceAlgorithm lb.LoadBalanceAlgorithm `yaml:"load_balance_algorithm" json:"load_balance_algorithm"`
DataSources []*DataSourceRef `yaml:"data_sources" json:"data_sources"`
}
type ServerParameters ¶
type ServerParameters struct {
MaxConnectionIdle time.Duration `yaml:"max_connection_idle" json:"max_connection_idle"`
MaxConnectionAge time.Duration `yaml:"max_connection_age" json:"max_connection_age"`
MaxConnectionAgeGrace time.Duration `yaml:"max_connection_age_grace" json:"max_connection_age_grace"`
Time time.Duration `yaml:"time" json:"time"`
Timeout time.Duration `yaml:"timeout" json:"Timeout"`
}
type ShardingConfig ¶
type ShardingConfig struct {
DBGroups []*DataSourceRefGroup `yaml:"db_groups" json:"db_groups"`
LogicTables []*LogicTable `yaml:"logic_tables" json:"logic_tables"`
}
type ShardingRule ¶
type ShardingRule struct {
Column string `yaml:"column" json:"column"`
ShardingAlgorithm string `yaml:"sharding_algorithm" json:"sharding_algorithm"`
Config Parameters `yaml:"config,omitempty" json:"config,omitempty"`
}
type SocketAddress ¶
type SocketAddress struct {
Address string `default:"0.0.0.0" yaml:"address" json:"address"`
Port int `default:"8881" yaml:"port" json:"port"`
}
SocketAddress specify either a logical or physical address and port, which are used to tell server where to bind/listen, connect to upstream and find management servers
type Storage ¶
type Storage map[string]Parameters
Storage defines the configuration for registry object storage
func (Storage) Parameters ¶
func (storage Storage) Parameters() Parameters
Parameters returns the Parameters map for a Storage configuration
Click to show internal directories.
Click to hide internal directories.