1、单库单应用模式
这种是最简单的模式,即一个数据一个应用服务器,一般在产品发布初期使用会比较方便,单日30万到50万PV以下一般没有问题。
2、内容分发模式
在主机中使用了静态文件缓存之后,还可以使用CDN的方式把静态文件分发到离用户最近的节点上以达到快速响应的目的,一般在百万级别的PV时需要使用。
3、查询分离模式
主要是指数据库的读写分离,能够降低响应延时,在千万级别的PV时会使用。
4、微服务模式
微服务就是把一个单应用拆分成多个服务,每个服务部署在各自的主机中,最后通过一个ESB来管理和调度这些服务,优点是各司其职不会出现混乱和一致性瘫痪,缺点也很明显,就是集成测试和协同发布难度大增。
5、分库分表模式
当一个表的数据出现上亿级别的时候就要考虑分表了,比如订单数据等,根据用户的属性或者时间来拆分成多个表存储,甚至是拆分成多个库存储。
6、多级缓存模式
可以把数据缓存到redis、memcache或者分布式文件系统之中,一般是在500万PV之上需要使用。
7、弹性伸缩模式
当应用容易出现波峰波谷的情况时使用弹性伸缩模式可以有效降低硬件资源的成本,特别是在使用公有云的时候这个成本的下降积累会是一个比较大的值。
8、多机房模式
如果是自建机房可以在南北方各地安置机房以达到有效降低延迟,以及防止同时宕机的可能性出现。如果是使用公有云可以采用多个节点部署。另外一方面,采用CDN的也是多机房的一种实际应用。
以上就是在互联网高并发情况下可能采用的几种架构策略。