Documentation
¶
Index ¶
- Constants
- func NewBackendSet() *types.Set[*Backend]
- type Backend
- type BackendResponse
- type BackendSetResponse
- type CreateBackendRequest
- func (r *CreateBackendRequest) SetBackendId(backendId string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetDescription(description string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetEnabled(enabled bool) *CreateBackendRequest
- func (r *CreateBackendRequest) SetHealthCheckInterval(interval int) *CreateBackendRequest
- func (r *CreateBackendRequest) SetHost(host string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetInstanceName(instanceName string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetMaxPoolSize(size int) *CreateBackendRequest
- func (r *CreateBackendRequest) SetMetadata(key string, value interface{}) *CreateBackendRequest
- func (r *CreateBackendRequest) SetPort(port int) *CreateBackendRequest
- func (r *CreateBackendRequest) SetServiceName(serviceName string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetType(t string) *CreateBackendRequest
- func (r *CreateBackendRequest) SetWeight(weight int) *CreateBackendRequest
- func (r *CreateBackendRequest) Validate() error
- type DeleteBackendRequest
- type DescribeBackendRequest
- type GetPoolStatsRequest
- type HealthCheckRequest
- type HealthCheckResponse
- type HealthCheckResult
- type PoolStats
- type PoolStatsResponse
- type QueryBackendRequest
- type Service
- type UpdateBackendRequest
Constants ¶
View Source
const (
APP_NAME = "proxy_backend"
)
Variables ¶
This section is empty.
Functions ¶
func NewBackendSet ¶
Types ¶
type Backend ¶
type Backend struct {
// 主键,自增
Id int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
// 创建时间
CreateAt time.Time `json:"create_at" gorm:"column:create_at"`
// 更新时间
UpdateAt *time.Time `json:"update_at" gorm:"column:update_at"`
// 更新人
UpdateBy string `json:"update_by" gorm:"column:update_by;type:varchar(60)"`
// 后端定义
CreateBackendRequest
// 健康状态
Healthy bool `json:"healthy" gorm:"column:healthy"`
}
Backend 代理后端实例
func NewBackend ¶
func NewBackend(req *CreateBackendRequest) *Backend
type BackendResponse ¶
type BackendResponse struct {
Data *Backend `json:"data"`
}
BackendResponse API响应格式
type BackendSetResponse ¶
BackendSetResponse 列表响应
type CreateBackendRequest ¶
type CreateBackendRequest struct {
// 后端ID(唯一标识)
BackendId string `json:"backend_id" validate:"required"`
// 服务名称(rds/ssh/redis等)
ServiceName string `json:"service_name" validate:"required"`
// 实例名称
InstanceName string `json:"instance_name" validate:"required"`
// 类型(mysql/postgresql/ssh等)
Type string `json:"type" validate:"required"`
// 主机地址
Host string `json:"host" validate:"required"`
// 端口
Port int `json:"port" validate:"required"`
// 是否启用
Enabled bool `json:"enabled"`
// 权重(用于负载均衡)
Weight int `json:"weight"`
// 最大连接池大小
MaxPoolSize int `json:"max_pool_size"`
// 健康检查间隔(秒)
HealthCheckInterval int `json:"health_check_interval"`
// 描述
Description string `json:"description"`
// 元数据(扩展字段)
Metadata map[string]interface{} `json:"metadata"`
}
func NewCreateBackendRequest ¶
func NewCreateBackendRequest() *CreateBackendRequest
func (*CreateBackendRequest) SetBackendId ¶
func (r *CreateBackendRequest) SetBackendId(backendId string) *CreateBackendRequest
func (*CreateBackendRequest) SetDescription ¶
func (r *CreateBackendRequest) SetDescription(description string) *CreateBackendRequest
func (*CreateBackendRequest) SetEnabled ¶
func (r *CreateBackendRequest) SetEnabled(enabled bool) *CreateBackendRequest
func (*CreateBackendRequest) SetHealthCheckInterval ¶
func (r *CreateBackendRequest) SetHealthCheckInterval(interval int) *CreateBackendRequest
func (*CreateBackendRequest) SetHost ¶
func (r *CreateBackendRequest) SetHost(host string) *CreateBackendRequest
func (*CreateBackendRequest) SetInstanceName ¶
func (r *CreateBackendRequest) SetInstanceName(instanceName string) *CreateBackendRequest
func (*CreateBackendRequest) SetMaxPoolSize ¶
func (r *CreateBackendRequest) SetMaxPoolSize(size int) *CreateBackendRequest
func (*CreateBackendRequest) SetMetadata ¶
func (r *CreateBackendRequest) SetMetadata(key string, value interface{}) *CreateBackendRequest
func (*CreateBackendRequest) SetPort ¶
func (r *CreateBackendRequest) SetPort(port int) *CreateBackendRequest
func (*CreateBackendRequest) SetServiceName ¶
func (r *CreateBackendRequest) SetServiceName(serviceName string) *CreateBackendRequest
func (*CreateBackendRequest) SetType ¶
func (r *CreateBackendRequest) SetType(t string) *CreateBackendRequest
func (*CreateBackendRequest) SetWeight ¶
func (r *CreateBackendRequest) SetWeight(weight int) *CreateBackendRequest
func (*CreateBackendRequest) Validate ¶
func (r *CreateBackendRequest) Validate() error
type DeleteBackendRequest ¶
type DeleteBackendRequest struct {
DescribeBackendRequest
}
func NewDeleteBackendRequest ¶
func NewDeleteBackendRequest(backendId string) *DeleteBackendRequest
type DescribeBackendRequest ¶
type DescribeBackendRequest struct {
BackendId string `json:"backend_id"`
}
func NewDescribeBackendRequest ¶
func NewDescribeBackendRequest(backendId string) *DescribeBackendRequest
type GetPoolStatsRequest ¶
type GetPoolStatsRequest struct {
BackendId string `json:"backend_id" validate:"required"`
}
func (*GetPoolStatsRequest) Validate ¶
func (r *GetPoolStatsRequest) Validate() error
type HealthCheckRequest ¶
type HealthCheckRequest struct {
BackendId string `json:"backend_id" validate:"required"`
}
func (*HealthCheckRequest) Validate ¶
func (r *HealthCheckRequest) Validate() error
type HealthCheckResponse ¶
type HealthCheckResponse struct {
Data *HealthCheckResult `json:"data"`
}
HealthCheckResponse 健康检查响应
type HealthCheckResult ¶
type PoolStatsResponse ¶
type PoolStatsResponse struct {
Data *PoolStats `json:"data"`
}
PoolStatsResponse 连接池统计响应
type QueryBackendRequest ¶
type QueryBackendRequest struct {
*request.PageRequest
// 服务名称过滤
ServiceName string `json:"service_name"`
// 类型过滤
Type string `json:"type"`
// 是否启用过滤
Enabled *bool `json:"enabled"`
// 健康状态过滤
Healthy *bool `json:"healthy"`
}
func NewQueryBackendRequest ¶
func NewQueryBackendRequest() *QueryBackendRequest
type Service ¶
type Service interface {
// 创建后端实例
CreateBackend(context.Context, *CreateBackendRequest) (*Backend, error)
// 查询后端实例
QueryBackend(context.Context, *QueryBackendRequest) (*types.Set[*Backend], error)
// 获取后端实例详情
DescribeBackend(context.Context, *DescribeBackendRequest) (*Backend, error)
// 更新后端实例
UpdateBackend(context.Context, *UpdateBackendRequest) (*Backend, error)
// 删除后端实例
DeleteBackend(context.Context, *DeleteBackendRequest) (*Backend, error)
// 健康检查
HealthCheck(context.Context, *HealthCheckRequest) (*HealthCheckResult, error)
// 获取连接池统计
GetPoolStats(context.Context, *GetPoolStatsRequest) (*PoolStats, error)
}
func GetService ¶
func GetService() Service
type UpdateBackendRequest ¶
type UpdateBackendRequest struct {
BackendId string `json:"backend_id" validate:"required"`
Enabled *bool `json:"enabled"`
Weight *int `json:"weight"`
MaxPoolSize *int `json:"max_pool_size"`
HealthCheckInterval *int `json:"health_check_interval"`
Description string `json:"description"`
Metadata map[string]interface{} `json:"metadata"`
UpdateBy string `json:"update_by"`
}
func (*UpdateBackendRequest) Validate ¶
func (r *UpdateBackendRequest) Validate() error
Click to show internal directories.
Click to hide internal directories.