一、 软件三大类型
单机类型,cs类型,bs类型
二、网络
TCP/IP四层结构
三、海量数据处理
1、缓存
(1)、ConcurrentHashMap
(2)、Ehcache,Memcache,redis
2、页面静态化
(1)、freemaker,velocity
(2)、squid,nginx
3、数据库优化
- 表结构优化
- sql语句优化
- 分区
- 分表
- 索引优化
- 使用存储过程代替直接操作
4、分离活跃数据
5、批量读取和延迟修改
- 批量读取是将多次查询合并到一次
- 延迟修改是对于高并发频繁修改数据,暂时将数据保存到缓存中,然后定时保存到数据库
6、读写分离
对数据库集群,专门负责写数据的叫主服务器,写入后底层同步到从服务器,读的时候到从服务器读。
7、分布式数据库
读写分离的作用是将多个请求分配到不同数据库服务,从而减轻单台服务器压力,而分布式数据库是解决单个请求就很复杂的情况,它可以将单个请求分配到不同服务器处理,使用分布式后的每个节点还可以同时使用读写分离,组成多个节点群。
8、Nosql和Hadoop
四、高并发解决方案
1、应用和静态资源分离
2、页面缓存
3、集群和分布式
session同步问题:
一种是在session发生变化后自动同步,tomcat默认使用这种,通过简单配置实现;
第二种是使用专门服务器安装memcached等高效的缓存程序来统一管理session,然后在应用程序中通过重写request并覆盖getsession方法来获取指定服务器中的session。
负载均衡:使用nginx或f5等
4、反向代理
是指客户端访问的服务器并不真正提供服务,它从别的服务器获取资源然后将结果返回给用户
5、cdn
底层优化
传输层优化等