16.3 event设计约定
导读
当设计API扩展及实现其控制器时,如何设计events
和status
?什么样的信息需要放到status
中,什么样的信息需要放到events
中?
Event设计约定
event
的设计初衷是为status
提供一个补充,与status
不同的是,event
可以提供历史信息。与status
类似的是,event
也由控制器维护。那么什么时候需要报告event
?需要报告什么信息呢?
当控制器观测到资源的某个状态(正常状态或异常状态)时,如果需要用户或管理员注意,那就需要报告事件。 报告的事件,通常包含3个信息:
reason:事件名称
type:事件类型(或事件等级),可以为”Normal“或”Warning“
message: 事件详细描述信息
事件类型当前只有Normal
和Warning
可选,将来如有必要可以扩展出新的类型,比如Critical
来表示更严重的信息。事件名称使用驼峰风格表示,名字尽量简短,但信息量也要充足,避免使用极简的名称,比如"Failed",至少也要使用”xxxFailed“,指出到底是什么出错了。
最后更新于