系统架构整理笔记待续

一,UI

  1. ASP.NET

    1. 采用动静分离的方式

                             病状: 打开网页时快时慢,浏览器进度条上显示一段,最后全部显示完。

                             病因: 是因为动态内容与静态内容没有很好的分离,动态内容需要看程序代码写的质量与数据库的读写速度有关。而静态内容主要是涉及到网速与下载文件的大小有关。如果同时放到一个WEB服务器上那么他就不会很好的用户体验。

                           处方: 我们需要把一些静态的文件与文件放到一个单独的网站里采用单独的域名,如“大众点评”就是采用的dpfile.com这个域名来存储静态文件信息,“京东商城”则是采用img10.360buyimg.com来存储文件。

                          好处:1,加快浏览的并行读取。2,减少了同域名下的Cookie的网络开销。

          2,完成对于静态资源的版本控制。       

                         病状:有时我们修改了一些静态资源如:CSS那么我有可能不是采用支持覆盖的方式有些时间可能是直接采用如b.css?v=12 但是这有可能始根本不会去下最新的文件可能会把问号后面的作为参数。

                       处方: 既然他要认URL那么我们就直接改URL好了,b.css.v12.css 通过URL Write就可以进行新路径解析。

          2.  对于网站的图片归类优化方式

                          病状:如果把所有用户上传的图片放到一个目录下那么时间一外就会造成根本打不开图片目录。

                          处方:我们可以对图片目录采用按“年-月-日-时”的目录结构方式这样就有效的避免的文件过多的问题。

          

至于一些常用的WEB优化方式大家可以在来自Yahoo!的网站前端性能优化建议 中进行学习。

   s

  1. WINFROM

  2. WPF

  3. SL

二,底层设计

三,数据库设计

  • 易改字段要与主表分离

病状:在做如为某条新闻的访问数量时,常常有人可能直接在新闻表里面增加一列“访问数”,但是一般数据的读写应该是9:1的比例,如果每次有人访问就修改其值,那么在读取数据时这样就会造成死锁别人就没有办法进行读取操作

处方:1,我们是要把访问数这列与主表分离,不至于死锁主表数据。2,在采用中间件的方式,累计更新。3,或者是用于NOSQL数据库,他是可以针对原子更新

  • 在设计时少采用表关联的方式。

病状:如果我们在系统中用到太多的表关联那么我们在分库和分表的时间就可能比较麻烦。

处方:对于不同业务我们需要做成服务的形势如:User Service,Shop Service

原文地址:https://www.cnblogs.com/jiguixin/p/2144669.html