1、网站架构及其演变过程随笔

2017-10-16  本文已影响0人  noexceptionsir

1、解决网站速度问题的核心主要是解决海量数据操作问题和高并发问题。

2、使用缓存可以降低数据库的压力,因为缓存有失效机制和内存的不确定性,对实时性和一致性要求比较严格的场景并不适合。

3、页面静态化对海量数据处理和并发的场景有很大帮助,原理是将页面缓存下来,常用的页面静态化技术如FreeMarker、Velocity。

4、数据库表结构的设计优化。

5、分区:将一张表中的数据按一定规则分到不同的区进行保存,如果查询数据在一个区的话,可以只对一个区进行操作,对程序来说,是透明的,无需改动。

6、分表:如果一张表中的数据可以分为几种固定不变的类型,而且如果同时对多种类型共同操作的情况不多,可以考虑分表。

7、索引的优化:索引会加快查询速度,但是随着数据量的增大,增删改的成本也会越来越高,不要盲目加索引,后面会单独写这一部分,分析innodb索引优化,和BTree。

8、操作复杂且调用频率高的情况,可以使用存储过程。

9、数据的冷热程度往往是不一样的,冷热数据分离,经典的例子,有些用户是活跃的,而另一些是“僵尸号”,可以考虑定时任务执行,将用户按活跃程度分开。

10、读写分离:用在数据库的集群上,例如主从结构,主用来写,从用来读,这里要考虑的比较多,如负载均衡,复制等。

11、应用和静态资源分离:单独的域名存放静态资源,静态资源服务器。

12、如nginx这种有反向代理、控制负载均衡,页面缓存的服务器。

13、部署CDN,不同地区使用更近的CDN服务,加快加载速度。

14、集群与分布式的区别:集群是每台服务器都是有相同的功能,分布式是不同的业务发在不同的服务器,处理请求可能会访问到多个服务器,分布式与集群并不冲突,可以同时使用

上一篇下一篇

猜你喜欢

热点阅读