首先简单描述下分布式和集群:
分布式:将不同的业务分在不同的地方,即一个任务分给多个机器去做,减少单个任务的执行时间。
集群:将多台服务器集中在一起,实现同一业务,即提高单位时间内执行的任务数。
分布式每个点可以做集群,而集群不一定是分布式的。
处理高并发问题的常见方法
1. 使用静态页面**
尽量将可以使用静态页面的地方使用静态页面,减少页面的解析时间,能够缓解服务器压力并降低数据库数据的频繁交换。
实现静态页面的方法由很多:
2.缓存**
将一些有时效性或经常访问的数据存储在专门用于缓存的应用程序中,减少数据库的访问压力。常见的缓存技术有:
- 本地缓存:Cache
- 分布式缓存:Redis
3. 优化数据库**
分为两个方面:
- 优化数据库查询语句,复杂的SQL语句不要使用ORM框架自动生成而是手动编写,同时优化数据库的表结构,如加入索引等.
- 数据库读写分离,主数据库服务器负责写,从数据库服务器负责读,通过主从复制来保证数据的完整性。
4.负载均衡
我们知道可以通过集群以支持高并发和大数据量,而集群之间的分工就需要依靠负载均衡技术。
负载均衡是指将请求划分给多个操作单元也就是分开部署的服务器上,即将收到请求按照一定规则分发给其它专门处理的处理