16.3 event设计约定

导读

当设计API扩展及实现其控制器时,如何设计eventsstatus?什么样的信息需要放到status中,什么样的信息需要放到events中?

Event设计约定

event的设计初衷是为status提供一个补充,与status不同的是,event可以提供历史信息。与status类似的是,event也由控制器维护。那么什么时候需要报告event?需要报告什么信息呢?

当控制器观测到资源的某个状态(正常状态或异常状态)时,如果需要用户或管理员注意,那就需要报告事件。 报告的事件,通常包含3个信息:

  • reason:事件名称

  • type:事件类型(或事件等级),可以为”Normal“或”Warning“

  • message: 事件详细描述信息

事件类型当前只有NormalWarning可选,将来如有必要可以扩展出新的类型,比如Critical来表示更严重的信息。事件名称使用驼峰风格表示,名字尽量简短,但信息量也要充足,避免使用极简的名称,比如"Failed",至少也要使用”xxxFailed“,指出到底是什么出错了。

最后更新于