分布式发展历程
关于我对分布式的理解。
我现在做的项目就是分布式架构。
1,有几台web服务器,通过nginx进行负载均衡,分流请求。
那么问题来了。在同一个用户访问不同的服务器怎么保证session同步呢。
比如通过统一的地方如redis去存储session。
2,有搜索引擎,比较复杂的查询都在搜索引擎里。简称es
es是通过分布式搜索,把大量的索引数据拆散成多块,每台机器放一部分,然后利用多台机器对分散之后的数据进行搜索,所有操作全部是分布在多台机器上进行,形成了完整的分布式的架构。
3,有主从数据库,读写分离,数据库迁移到不同的服务器。比如统计数据库放一个服务器。
这些方式是对于数据库来说的减少其压力。减少数据库压力有很多方法,比如:
- 缓存(减少数据库不必要的访问查询),
- 读写分离(减少数据库读写压力),
- 数据表水平切割(对于数据量比较大的表,有很多历史数据但不能删除的,比如订单表可以采用这种方式),
- 数据库垂直切割(就是我们项目的数据库迁移。按照业务把不同的数据库或者表放在不同的服务器上减少服务器压力)
今天暂时理解到这,后面再补充