大型网站架构演进(8)业务拆分

  大型网站为了应对日益复杂的业务需求,通过使用分而治之的手段将整个网站的业务分成不同的产品线,然后交给不同的开发团队负责。这样一方面方便应用的扩展和维护,同时不同的应用对应不同的数据库,也减小了原来所有业务数据都在一个数据库的压力。

业务拆分

原来一个网站拆分成多个不同的应用后,每个应用都是独立部署维护,系统之间的通讯一般使用消息队列中间件来完成,所以更新后的架构如下图:

时间: 2024-11-09 13:24:33

大型网站架构演进(8)业务拆分的相关文章

大型网站架构演进(3)使用缓存改善网站性能

原文:大型网站架构演进(3)使用缓存改善网站性能 网站的访问也是遵循二八定律:80%的业务访问集中在20%的数据上,如果我们把这20%的数据做缓存,是不是可以减轻数据库的访问压力呢?在项目开发过程中,我们通常将一些基础信息缓存起来,比如商旅系统中的国家,城市,航空公司,机场和航站楼信息. 使用缓存改善网站性能 缓存一般分为两种,本地缓存和分布式缓存,本地缓存指的是应用服务器的本机缓存,分布式缓存一般指专门的缓存服务器,比如memcached和redis.下图是使用缓存后网站的架构: 总结: 使用

大型网站架构演进(4)使用应用服务器集群

原文:大型网站架构演进(4)使用应用服务器集群 使用应用服务器集群是解决高并发的常用手段,当一台应用服务器的处理能力不足时,不要企图更换配置更高的服务器,对于大型网站而言,不管多么强大的服务器,都满足不了持续增长的业务需求,在这种情况下,更好的做法是增加一台应用服务器去分担原来服务器的压力.因为这样使得系统的可扩展和可伸缩性更好. 使用应用服务器集群 架构如下图: 总结: 使用应用服务器集群后,应用服务器这一层的高并发问题就解决了,但是高并发的压力就转移到数据库了,所以后面要继续优化架构去解决数

大型网站架构演进(1)单机网站

初始阶段的网站一般访问量都很小(QPS<500),此时只需要一台服务器就足够,应用程序,数据库和文件都放在这一台服务器上.如果是.net的话,通常操作系统使用windows server,应用程序开发使用asp.net,然后应用程序部署在IIS上,数据库使用sql server. 单机网站 单机网站的架构非常简单,如下图: 单机网站架构的好处是开发需求,发布版本和部署非常快,但是存在以下问题: 1,可以支持的并发访问量比较小,一般QPS在500以下. 2,不易扩展和维护,修改一个小地方就需要编译

大型网站架构演进(2)数据库与应用服务器分离

随着用户量和并发数的增加,单台服务器出现了性能问题,此时必须要将应用程序和数据库分离,分离后整个网站变成三台服务器了:应用服务器(或称web服务器),数据库服务器和文件服务器.这三台服务器对服务器的配置要求是不一样的,应用服务器需要处理大量的业务逻辑,所以需要更快更强大的CPU,数据库服务器需要快速磁盘检索和数据缓存,所以需要更快的硬盘(现在一般使用SSD)和更大的内存,文件服务器需要存储大量用户上传的文件,所以需要更大容量的硬盘. 数据库与应用服务器分离的架构 数据库与应用服务器分离后明显提升

大型网站架构演进(5)数据库读写分离

在使用缓存后,使大部分的数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(包括未命中缓存的,和缓存过期的)和全部的写操作需要访问数据库,当网站的访问量继续增加后,数据库会因为负载压力过高导致成为网站的性能瓶颈. 目前大部分的主流数据库都提供了主从热血功能,通过配置两台数据库的主从关系,可以将一台数据库服务器的数据同步到另一台服务器上,网站利用数据库的这一功能,可以实现数据库的读写分离,从而改善数据库的负载压力. 应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据

大型网站架构系列

原文:大型网站架构系列 这个系统总结了在搭建大型网站的过程中,对于架构的搭建,以及选择支撑架构实现的中间件的相关经验. 大型网站架构演进(1)单机网站 大型网站架构演进(2)数据库与应用服务器分离 大型网站架构演进(3)使用缓存改善网站性能 大型网站架构演进(4)使用应用服务器集群 大型网站架构演进(5)数据库读写分离 大型网站架构演进(6)使用NoSQL和搜索引擎 大型网站架构演进(7)数据库拆分 大型网站架构演进(8)业务拆分 大型网站架构演进(9)服务化 中间件(1)分布式缓存 中间件(2

大型网站架构系列:电商网站架构案例(2)

电网网站架构案例系列的第二篇文章.主要讲解网站架构分析,网站架构优化,业务拆分,应用集群架构,多级缓存,分布式Session. 五.网站架构分析 根据以上预估,有几个问题: 需要部署大量的服务器,高峰期计算,可能要部署30台Web服务器.并且这三十台服务器,只有秒杀,活动时才会用到,存在大量的浪费. 所有的应用部署在同一台服务器,应用之间耦合严重.需要进行垂直切分和水平切分. 大量应用存在冗余代码 服务器SESSION同步耗费大量内存和网络带宽 数据需要频繁访问数据库,数据库访问压力巨大. 大型

大型网站架构改进历程:存储的瓶颈(五)

摘要:什么是大型网站,从网站的技术角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标,如果按这些标准那么像hao123网站就是了. [编者按]本文转自博客园的 夏天的森林,在看这篇之前,大家可以移步看 大型网站架构改进历程:存储的瓶颈(一).(二).(三).(四). 上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种

关于大型网站技术演进的思考(一)--存储的瓶颈(上)

前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程. 首先我们要思考一个问题,什么样的网站才是大型网站,从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标,如果按这些标准那么像hao123