决定架构是否充分的核心标准是,看其能否降低风险。
解决复杂问题:分治,知识,抽象;各个部分足够小,组成整体时忽略内部细节;从之前开发中继承知识;抽象抓住主要矛盾。寻觅各种武器以便更好的分割系统,提供只是,并抽象来揭示问题的本质----软件架构。
案例一:日志检索系统
方案一:通过ssh链接各台服务器,用grep命令在各台服务器上查找文件,搜索量增加开销增加,需要专业工程师用正则表达式和grep命令查找。
方案二:中央数据库,服务器定时向服务主机数据库发送日志,可以通过web访问;系统没有备份,单机处理查询CPU磁盘负载过高
方案三:索引簇,日志存在不同的主机中,建立索引簇