根据个人的经验,按照重要程度一条条地列。 这里要列出来的特性并不是业务的,比如你的服务需要实现什么样的业务,已经业务有什么要求,这些都在业务的范畴内。这里列出的特性都是属于非业务的特性。
1. 状态标记。
状态标记可以以最简洁的方式说明了当前服务的运行情况。这个情况可以根据组件来分,也可以根据业务模块来分,还可以根据一些业务指标来分。
按组件来分:整体级别和组件级别。整体级别的就是一个概况,说明这个服务的运行状态,例如Windows中的服务主要状态为Stopped,Running,Start-Pending,Stop-Pending。然后也可以根据服务所包括的组件来分,例如DbConnection = OK,WebService = OK,Component 1 = Stopped。
按业务模块来分。例如收到消息=100个,发出消息=200个,消息接收器状态=OK,消息触发器=Warning。
这些标记最好简单明了,查看方便。这个查看方便可以俩方面的,一是手工查看方便。二是程序对状态的读取方便。建议使用Plant-text的方式,或简单格式XML。这种简单的格式对于调试和分析都是很简单,很容易的。
2. 动态配置。
一个服务,总是会有很多参数。如果可以将这些参数的配置都动态化,这样就可以在服务运行的时候动态地调整参数。避免了因为服务宕机时,影响业务。动态配置也可以分为各种分类参数级别,或者组件级别,例如可以将一些阈值作为参数化配置,例如限制的Log大小,限制的Message大小,文件大小等等。也可以是一些大的业务的配置,例如是否需要Log