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.