集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > PHP >

成都PHP培训教程之大型网站,你是如何架构的?

发布者: 成都达内     浏览次数:

使用反向代理和CDN加速网站响应:CDN 和反向代理的基本原理都是缓存,区别在于:CDN部署在网络提供商的机房;反向代理则部署在网站的中心机房;...

  成都PHP培训教程之大型网站,你是如何架构的?

  反向代理和CDN加速网站响应

  使用反向代理和CDN加速网站响应:CDN 和反向代理的基本原理都是缓存,区别在于:

  CDN部署在网络提供商的机房;

  反向代理则部署在网站的中心机房;

  使用 CDN 和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。

  成都php培训

  使用反向代理和 CDN 加速网站响应

  优点:减轻应用负载压力,异地缓存有效解决不同地方用户访问过慢的问题;

  缺点:成本大幅增加,架构进一步复杂化,也维护难度进一步增大,静态文件缓存更新失效问题;

  技术点:CDN、反向代理方案;

  使用NoSQL和搜索引擎

  到这里,已经基本做到了DB层面和应用层面的横向扩展了,可以开始关注一些其它方面,例如:站内搜索的精准度,对DB的依赖,开始引入全文索引、NoSQL。

  NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

  成都php培训

  使用NoSQL和搜索引擎

  优点:降低DB依赖;

  缺点:单点问题,谈不上高可用;

  技术点:NoSQL、搜索引擎、分布式;

  到目前为止,一个能够承载日均百万级访问量的中型网站架构基本介绍完了。

  如何保证高可用

  在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。

  对关键应用/服务,做集群冗余负载,这也是保证高可用比较常用的手段:

  文件系统、数据库系统集群;

  静态内容服务器集群;

  CDN服务器集群;

  反向代理服务器集群;

  负载均衡调度器集群;

  分布式NoSQL服务器集群;

  搜索引擎服务器集群;

  分布式缓存服务器集群;

  分布式Session服务器集群;

  成都php培训

  使用集群冗余负载 保证高可用

  优点:集群负载,保证高可用;

  缺点:数据一致性、数据有状态问题;

  技术点:负载调度器、集群方案;

  截止目前为止,都没有怎么去改动应用程序的架构,或者说通俗点,都不怎么需要大面积的修改代码。

  如果上面那些手段都用光了,还是支撑不住怎么办?不停的加机器也不是办法啊?

  应用垂直拆分

  随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。所以,通常会把网站拆分出不同的子站点来单独宿主。

  通过分而治之的手段将整个网站业务分成不同的产品线,如首页、商铺、订单、卖家、买家等拆分成不同的产品线,分归不同的业务团队负责。各个应用之间可以通过建立一个超链接建立关系,也可以通过消息队列进行数据分发。

  成都php培训

  应用垂直拆分(分压,解耦)

  优点:降低耦合、分压;

  缺点:应用架构复杂;

  技术点:业务抽取拆分;

  业务垂直分库

  应用都拆了,由于单个数据库的连接,QPS,TPS,I/O处理能力都非常有限,DB层面也可以去做垂直分库操作。

  成都php培训

  业务垂直分库 分压 解耦

  优点:降低DB耦合、分压DB;

  缺点:数据访问模块复杂;

  技术点:业务抽取拆分;

  分布式服务化

  拆分应用和DB之后,其实还是会有很多问题。不同的站点,里面可能会有相同逻辑和功能的代码。当然,对于一些基础的功能我们可以封装DLL或者Jar包去到处提供引用,但是这种强依赖也很容易造成一些问题(版本问题、依赖关系等处理起来非常麻烦)。

  既然每一个应用系统都需要执行许多相通的业务操作,比如用户管理、商品管理等,那么可以将这些共用的业务提取出来,独立部署。这样,传说中的SOA的价值就得到体现了。

  成都php培训

  分布式服务化(解耦,去重复)

  优点:服务统一管理,提供重用度;

  缺点:应用架构更复杂;

  技术点:业务抽取拆分、服务化技术方案;

  消息队列

  应用、服务之间还是会出现一些依赖问题,这时候,高吞吐量的解耦利器出现了。

  成都php培训

  消息队列(服务间异步解耦 高吞吐量)

  优点:提高吞吐量、应用、服务之间解耦;

  缺点:存在消息消费延迟问题;

  技术点:消息队列技术方案;

  分库分表

  *后,再介绍一个大型互联网公司都用的绝技–分库分表。个人经验,不是业务发展和各方面非常迫切,不要轻易走这一步。

  因为分库分表谁都会干,关键是拆完之后怎么办。目前,市面上还没有完全开源免费的方案,能让你一劳永逸地解决数据库拆分问题。

  分库分表:

  横向拆分;

  纵向拆分;

  分布式数据库访问层;

  数据库中间件(代理);

  网站架构总结

  上面讲述了在网站业务发展的不同阶段,会面临不同的问题,针对不同的问题,会选择不同的架构。大型网站架构就是在不同阶段时解决不同问题的过程中慢慢演进来的。

  *后几句话,送给有缘的你:

  一切以解决业务目标为首要任务;

  没有以业务为目标的任何架构、技术,都是毫无意义的耍流氓;

  再牛逼的架构、再牛逼的技术,不能够解决业务的问题,你也只能算是会架构、会技术的工匠,而不能算是真正意义上的架构师;

  业务成就了技术,平台成就了人,事业成就了人,而不是相反;

  成都php培训哪家好,当然是成都达内培训,成都达内一家专业的PHP程序员培训机构,专注于网络营销课程,成都程序员培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都网络营销培训,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,达内培训,成都php培训机构www.cdtedu.com/pxkc/php/

(责任编辑:成都达内)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼段35号明宇金融广场19楼1903室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:高新区奥克斯广场B座17楼08号

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座3楼

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼6楼14号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街紫东段35号明宇广场2306

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市成华区建设路10号万科钻石广场B座5楼

联系电话:15023458194

公交路线:建设路中(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

20016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56