Spring MVC
注:Spring MVC学习笔记 之 《看透Spring MVC 源代码分析与实践》
第一章 总结
1. OSI参考模型与TCP/IP参考模型
2.软件发展的过程:单机-->C/S-->B/S
(1)单机:wps等不需要联网的软件
(2)C/S:Client/Server 比如:QQ
(3)B/S:Browser/Server 需要联网
3. 海量数据的解决方法
(1)缓存:直接保存到内存或者使用缓存框架,缓存框架包括:Ehcache、MemerCache和Redis
(2)页面静态化:将程序生成的最终的页面保存,这样就不需要查询数据库,而且也不用处理应用程序,因此在数据量大和并发量高的情况下可以运用。
(3)数据库优化:表结构、SQL语句、分区和分表、索引优化、使用存储过程代替直接操作。举例,分区:年月日,按照月分区;分表:按照记录修改前后将表进行分表;分离活跃数据:活跃用户与非活跃用户;批量读取和延迟修改:批量读取是指将多次查询合并到一次,延迟修改是指可以先将修改后的数据放到缓存,然后再定时将缓存中的数据同步导数据库;读写分离:将增删改操作的数据交给一台主服务器处理,将读放到另一台从服务器上,从而实现读写分离,其中数据同步可以采用数据库的热备份功能,不过这可能存在一定的滞后,高级的数据同步可以需要软硬件结合。
(4)分布式数据库
注:Hadoop在查找符合条件的记录时,处理方式是:先找到每一块的符合条件的记录,然后再合并到一起。
4. 高并发的解决方案
(1)应用和静态资源分离:静态资源包括:图片、视频、JS、CSS以及资源文件;
(2)页面缓存:将应用生成的页面缓存;
(3)集群和分布式:集群是每台服务器都具有相同的功能,处理请求时调用哪台服务器都可以,此时主要是起到分流的作用。分布式是将不同的业务放到不同的服务器上,处理请求时一次可以调用不同的服务器,这样可以提高请求的处理速度,集群和分布式可以同时使用。
(4)CDN:CDN其实是一种特殊的的集群页面缓存服务器。CDN的每个节点其实就是一个页面缓存服务器。CDN分配请求的方式是:用专门的CDN域名解析到相应的CDN节点。