这几天总结了一下,觉得一个优秀的系统架构应该拥有的的几大体系,有志成为架构师的同学应关注这几个体系:
- 流程体系:等同于平常我们所说的框架,描述了从接收请求到输出响应的过程中,系统对数据的控制逻辑。说得有点抽象,举例的话,目前流行的所有MVC框架都属于流程体系。
- 异常体系:提供了系统中对异常的处理标准。需要定义错误码,错误描述,错误级别以及相应的处理逻辑。还需要从框架的角度处理一些未被捕获的异常,提供处理异常的公共模块。
- 日志体系:提供记录日志的标准。定义日志格式,日志级别。提供记录日志的公共模块,必须做到按项目、按日期、按类别来记录日志。提供管理日志文件的机制,最基本的需求包括定时删除服务器上的日志(防止硬盘空间满),能自动将日志集中到日志服务器。
- 监控体系:对服务器进行各种监控,包括提供的服务接口是否正常,机器负载是否正常,机器硬盘空间是否足够,带宽是否发生异常。必须让相应人士能及时收到报警(通用做法是发送短信)。
- 统计体系:提供统计功能,用于分析用户的行为。一般来说,统计体系跟日志体系密切相关,统计体系本质上来说是对日志的再分析。如果日志很大,应引入hadoop等工具。尽可能做到实时、展现直观。
- 配置体系:一个系统一般分为dev环境,demo环境,beta环境,以及线上环境。配置体系针对不同的环境提供了不同的配置取值。此外,如果在线上修改配置,应该做到不用重启服务。
- 部署体系&#x