Documentation ¶
Index ¶
- Variables
- func CalculateScoreSimple(counts Counts) uint64
- func CheckType(p Type, module Module) bool
- func LegalMid(str MID) bool
- func LegalType(p Type) bool
- func SetScore(module *Module) bool
- func SplitMid(mid MID) ([]string, error)
- type Analyzer
- type CalculateScore
- type Counts
- type Downloader
- type MID
- type Module
- type ModuleInternal
- type ParserResponse
- type Pipeline
- type ProcessItem
- type Register
- type SNGenertor
- type SummaryStruct
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotFoundModuleInstance = errors.New("not found module instance error")
Functions ¶
func CalculateScoreSimple ¶
CalculateScoreSimple 代表简易的组件评分计算函数。
Types ¶
type Analyzer ¶
type Analyzer interface { Module RespParsers() []ParserResponse Analyze(resp *datastructs.Response) ([]datastructs.Data, []error) }
type CalculateScore ¶
type Downloader ¶
type Downloader interface { Module Download(req *datastructs.Request) (*datastructs.Response, error) }
type Module ¶
type Module interface { Id() MID // 获取当前组建的id Addr() string // 获取当前组建的网络地址的字符串形式 Score() uint64 // 当前评分 SetScore(score uint64) // 设置积分 ScoreCalculator() CalculateScore // 获取评分计算器 CallCount() uint64 // 获取当前组建被调用的计数 AcceptCount() uint64 // 获取当前组建接受的调用计数,组建一般由于超负荷或参数有误调用的计数 CompletedCount() uint64 // 获取当前组建已经完成的调用计数 HandlingNumber() uint64 // 获取当前组建正在处理的调用的数量 Counts() Counts // 一次性获取所有计数 Summary() SummaryStruct // 获取组建摘要 }
type ModuleInternal ¶
type ModuleInternal interface { Module IncrCalledCount() IncrAcceptCount() IncrCompletedCount() IncrHandlingNumber() DecrHandlingNumber() Clear() }
func NewModuleInternal ¶
func NewModuleInternal(mid MID, score CalculateScore) (ModuleInternal, error)
type ParserResponse ¶
type Pipeline ¶
type Pipeline interface { Module ItemProcessors() []ProcessItem //用于返回当前条目处理管道的使用条目处理函数的列表 Send(item datastructs.Item) []error //send会向条目处理管道发送条目,条目需要一次经过若干处理函数的处理 FailFast() bool // 表示当前条目处理管道是否是快速失败(只要在处理某个条目时在某一个步骤上出错,那条目处理管道就会忽略后续的所有步骤并报告) SetFailFast(fail bool) // 设置是否快速失败 }
type ProcessItem ¶
type ProcessItem func(item datastructs.Item) (datastructs.Item, error)
type Register ¶
type Register interface { Register(module Module) (bool, error) // 用于注册组件实例 Unregister(module MID) (bool, error) // 用于注销组建 Get(moduleType Type) (Module, error) // 用于获取一个指定类型的组建,基于负载均衡策略返回 GetAllByType(moduleType Type) (map[MID]Module, error) // 获取追定类型的所有组建 GetAll() map[MID]Module // 获取所有组建 Clear() // 清除所有注销的记录 }
func NewRegister ¶
func NewRegister() Register
type SNGenertor ¶
type SNGenertor interface { Start() uint64 // 用于获取预设的最小序列号 Max() uint64 // 获取预设的最大序列号 Next() uint64 // 获取下一个序列号 CycleCount() uint64 //获取循环计数 Get() uint64 // 获得一个序列号并准备以下个序列号 }
* 序列号生成器,
组建类型字母: 序列号 组建地址模块 | | | 组建类型模块 序列号生成器 网络地址
var Sn SNGenertor
func NewSnGenertor ¶
func NewSnGenertor(start uint64, max uint64) SNGenertor
type SummaryStruct ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.