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.