互联网高并发架构的8种设计模式演化
2017-04-14 09:42
561 查看
1、单库单应用模式
这种是最简单的模式,即一个数据一个应用服务器,一般在产品发布初期使用会比较方便,单日30万到50万PV以下一般没有问题。
2、内容分发模式
在主机中使用了静态文件缓存之后,还可以使用CDN的方式把静态文件分发到离用户最近的节点上以达到快速响应的目的,一般在百万级别的PV时需要使用。
3、查询分离模式
主要是指数据库的读写分离,能够降低响应延时,在千万级别的PV时会使用。
4、微服务模式
微服务就是把一个单应用拆分成多个服务,每个服务部署在各自的主机中,最后通过一个ESB来管理和调度这些服务,优点是各司其职不会出现混乱和一致性瘫痪,缺点也很明显,就是集成测试和协同发布难度大增。
5、分库分表模式
当一个表的数据出现上亿级别的时候就要考虑分表了,比如订单数据等,根据用户的属性或者时间来拆分成多个表存储,甚至是拆分成多个库存储。
6、多级缓存模式
可以把数据缓存到redis、memcache或者分布式文件系统之中,一般是在500万PV之上需要使用。
7、弹性伸缩模式
当应用容易出现波峰波谷的情况时使用弹性伸缩模式可以有效降低硬件资源的成本,特别是在使用公有云的时候这个成本的下降积累会是一个比较大的值。
8、多机房模式
如果是自建机房可以在南北方各地安置机房以达到有效降低延迟,以及防止同时宕机的可能性出现。如果是使用公有云可以采用多个节点部署。另外一方面,采用CDN的也是多机房的一种实际应用。
以上就是在互联网高并发情况下可能采用的几种架构策略。
这种是最简单的模式,即一个数据一个应用服务器,一般在产品发布初期使用会比较方便,单日30万到50万PV以下一般没有问题。
2、内容分发模式
在主机中使用了静态文件缓存之后,还可以使用CDN的方式把静态文件分发到离用户最近的节点上以达到快速响应的目的,一般在百万级别的PV时需要使用。
3、查询分离模式
主要是指数据库的读写分离,能够降低响应延时,在千万级别的PV时会使用。
4、微服务模式
微服务就是把一个单应用拆分成多个服务,每个服务部署在各自的主机中,最后通过一个ESB来管理和调度这些服务,优点是各司其职不会出现混乱和一致性瘫痪,缺点也很明显,就是集成测试和协同发布难度大增。
5、分库分表模式
当一个表的数据出现上亿级别的时候就要考虑分表了,比如订单数据等,根据用户的属性或者时间来拆分成多个表存储,甚至是拆分成多个库存储。
6、多级缓存模式
可以把数据缓存到redis、memcache或者分布式文件系统之中,一般是在500万PV之上需要使用。
7、弹性伸缩模式
当应用容易出现波峰波谷的情况时使用弹性伸缩模式可以有效降低硬件资源的成本,特别是在使用公有云的时候这个成本的下降积累会是一个比较大的值。
8、多机房模式
如果是自建机房可以在南北方各地安置机房以达到有效降低延迟,以及防止同时宕机的可能性出现。如果是使用公有云可以采用多个节点部署。另外一方面,采用CDN的也是多机房的一种实际应用。
以上就是在互联网高并发情况下可能采用的几种架构策略。
相关文章推荐
- 互联网高并发架构的8种设计模式演化
- 互联网架构(2):并发编程--并发编程的设计模式
- 互联网公司高并发图片存储服务架构设计一
- 互联网公司高并发图片存储服务架构设计一
- 阿里架构师,讲述互联网分布式系统架构设计中的“高并发”
- 互联网架构设计 (高并发高可用性)
- 互联网公司高并发图片(缩略图)处理中间层服务架构设计一
- Java互联网架构-远走高飞单例模式原理分析与设计实践
- 朱晔的互联网架构实践心得S1E8:三十种架构设计模式(下)
- 不懂这些高并发分布式架构、分布式系统的数据一致性解决方案,你如何能找到高新互联网工作呢?强势解析eBay BASE模式、去哪儿及蘑菇街分布式架构
- 朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)
- 互联网移动业务服务端系统架构设计演化
- 企业级系统架构设计技术与互联网应用技术结合主题一 大规模并发性能问题探讨
- 软件架构模式和设计模式
- 合理设计代码架构(设计模式之抽象工厂)
- .Net架构与设计模式
- 软件的架构与设计模式之模式的种类
- 整理几个关于设计模式、架构的博客专栏和文章
- 【收藏】软件的架构与设计模式之什么是架构
- .NET初学者架构设计指南(三)设计模式