软件项目架构技术,主要目的还是为了易扩展、易维护、高性能等。
其中,易扩展易维护这个,现有很多设计模式什么的很多了。但是高性能这块还是不是太多的,也是很多新手容易忽略的。下面总结一下一些实用的设计原则:
1,优化sql语句。
2,添加索引,拆分表,将历史久远的数据和近期数据分离。
3,不是频繁更新的数据采用缓存。nosql?
4,多线程。
5,将数据库放到io能力较强的磁盘上。(固态或者阵列)
6,分布式。将数据访问和业务处理应用分开到多个服务器。
7,引入负载均衡机制,分摊服务器压力。
8,引入队列概念,将数据操作异步处理。(实时性要求不高的操作,说白了还是多线程。)
9,优化前端呈现。根据业务需要,将前端不是很紧急的操作多线程执行,将影响页面呈现的关键操作尽早执行。(还是多线程)
10,以上几点,根据项目和业务的具体情况,选择性使用,找到真正影响性能的瓶颈,对症下药。
11,如果是io操作是瓶颈,调查磁盘阵列带宽等。如果是cpu操作瓶颈,采用分布式或者负载均衡。如果内存瓶颈,增大内存。
12,再叮嘱一下,具体情况具体分析,还是要根据项目的架构和业务采用相应的策略,千万不要盲目照搬模式和架构。
写完了,发现似乎还是废话,看个人的领悟力了。
————————————————
原文链接:https://blog.csdn.net/zhanghuaisme/article/details/51396125
网友评论