Documentation
¶
Index ¶
- Constants
- func Check(cfg *Config, workers map[eosc.RequireId]eosc.IWorker) error
- func Create(id, name string, v *Config, workers map[eosc.RequireId]eosc.IWorker) (eosc.IWorker, error)
- func DoStrategy(ctx eocontext.EoContext, next eocontext.IChain, iCache resources.ICache) error
- func Register(register eosc.IExtenderDriverRegister)
- type ActuatorSet
- type Config
- type Controller
- func (c *Controller) AllWorkers() []string
- func (c *Controller) Check(cfg interface{}) (profession, name, driver, desc string, err error)
- func (c *Controller) ConfigType() reflect.Type
- func (c *Controller) Del(id string)
- func (c *Controller) Get() interface{}
- func (c *Controller) Mode() eosc.SettingMode
- func (c *Controller) Set(conf interface{}) (err error)
- func (c *Controller) Store(id string)
- type Fuse
- type FuseHandler
- type FuseTimeConf
- type Header
- type Rule
- type StatusConditionConf
- type StrategyResponseConf
Constants ¶
View Source
const Name = "strategy-fuse"
Variables ¶
This section is empty.
Functions ¶
func DoStrategy ¶
Types ¶
type ActuatorSet ¶
type Config ¶
type Config struct {
Name string `json:"name" skip:"skip"`
Description string `json:"description" skip:"skip"`
Stop bool `json:"stop" label:"禁用"`
Priority int `json:"priority" label:"优先级" description:"1-999"`
Filters strategy.FilterConfig `json:"filters" label:"过滤规则"`
Rule Rule `json:"fuse" label:"熔断规则"`
}
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController() *Controller
func (*Controller) AllWorkers ¶
func (c *Controller) AllWorkers() []string
func (*Controller) Check ¶
func (c *Controller) Check(cfg interface{}) (profession, name, driver, desc string, err error)
func (*Controller) ConfigType ¶
func (c *Controller) ConfigType() reflect.Type
func (*Controller) Del ¶
func (c *Controller) Del(id string)
func (*Controller) Get ¶
func (c *Controller) Get() interface{}
func (*Controller) Mode ¶
func (c *Controller) Mode() eosc.SettingMode
func (*Controller) Set ¶
func (c *Controller) Set(conf interface{}) (err error)
func (*Controller) Store ¶
func (c *Controller) Store(id string)
type Fuse ¶
type Fuse struct {
drivers.WorkerBase
// contains filtered or unexported fields
}
func (*Fuse) CheckSkill ¶
type FuseHandler ¶
type FuseHandler struct {
// contains filtered or unexported fields
}
func NewFuseHandler ¶
func NewFuseHandler(conf *Config) (*FuseHandler, error)
type FuseTimeConf ¶
type Rule ¶
type Rule struct {
Metric string `json:"metric" label:"熔断维度"` //熔断维度
FuseCondition StatusConditionConf `json:"fuse_condition" label:"熔断条件"` //熔断条件
FuseTime FuseTimeConf `json:"fuse_time" label:"熔断时间"`
RecoverCondition StatusConditionConf `json:"recover_condition" label:"恢复条件"` //恢复条件
Response StrategyResponseConf `json:"response" label:"响应内容"`
}
type StatusConditionConf ¶
type StrategyResponseConf ¶
type StrategyResponseConf struct {
StatusCode int `json:"status_code" label:"HTTP状态码"`
ContentType string `json:"content_type" label:"Content-Type"`
Charset string `json:"charset" label:"Charset"`
Header []Header `json:"header" label:"Header参数"` //key:value
Body string `json:"body" label:"Body"`
}
StrategyResponseConf 策略返回内容配置
Click to show internal directories.
Click to hide internal directories.