backend

package
v0.0.0-...-a142604 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2017 License: MIT Imports: 11 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CreateConnection = func(dbHost *DBHost) Connection { return new(nilConnection) }

CreateConnection create connection function, this is default value, must replace it.

Functions

This section is empty.

Types

type Connection

type Connection interface {
	// GetConnectionID get connection id
	GetConnectionID() uint32

	// SetConnectionID set connection id
	SetConnectionID(id uint32)

	// Connect db server.
	Connect(dbHost *DBHost, db string) error

	// Reconnect db server.
	Reconnect() error

	// Close db server.
	Close() error

	// ReturnConnection give back connection.
	ReturnConnection()

	// UseDB to set current db.
	UseDB(database string) error

	// Ping db server.
	Ping() error

	// Begin transaction
	Begin() error

	// Commit transaction
	Commit() error

	// Rollback transaction
	Rollback() error

	// SetAutoCommit
	SetAutoCommit(autocommit bool) error

	// GetAddr Get addr info
	GetAddr() string

	// IsClosed check connection status
	IsClosed() bool
}

Connection is backend connection.

type ConnectionPool

type ConnectionPool struct {
	MaxPoolSize uint32
	// contains filtered or unexported fields
}

ConnectionPool to manage connection pool.

func NewConnectionPool

func NewConnectionPool(maxPoolSize uint32, dbHost *DBHost) *ConnectionPool

NewConnectionPool create connection pool

func (*ConnectionPool) GetConnection

func (p *ConnectionPool) GetConnection(database string) (Connection, error)

GetConnection get connection from pool

func (*ConnectionPool) GetIdleCount

func (p *ConnectionPool) GetIdleCount() uint32

GetIdleCount Get Idle count.

func (*ConnectionPool) ReturnConnection

func (p *ConnectionPool) ReturnConnection(conn Connection)

ReturnConnection give back connection to pool

type DBHost

type DBHost struct {
	Addr     string
	User     string
	Password string
	Weight   int
	Pool     *ConnectionPool
}

DBHost db host.

func NewDBHost

func NewDBHost(addr string, user, password string, weight int, maxConnNum int) *DBHost

NewDBHost new db host.

func (*DBHost) GetConnection

func (h *DBHost) GetConnection(database string) (Connection, error)

GetConnection to connect a backend conn.

func (*DBHost) ReturnConnection

func (h *DBHost) ReturnConnection(conn Connection)

ReturnConnection tu give back a backend conn.

type DataHost

type DataHost struct {
	Name             string
	MaxConnNum       int
	DownAfterNoAlive int
	PingInterval     int
	Master           *DBHost
	Slaves           []*DBHost
	// contains filtered or unexported fields
}

DataHost is data host.

func NewDataHost

func NewDataHost(hostCfg config.HostConfig) *DataHost

NewDataHost new host.

func (*DataHost) GetSlave

func (h *DataHost) GetSlave() (*DBHost, error)

GetSlave get slave by balance algorithm

type DataNode

type DataNode struct {
	Name     string
	Database string
	DataHost *DataHost
}

DataNode is a data node.

func NewDataNode

func NewDataNode(nodeCfg config.NodeConfig, dataHost *DataHost) *DataNode

NewDataNode new node instance.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL