《大型网站技术架构》读书笔记二:大型网站架构模式

      大型网站架构有独特的模式,支撑着大型网站的运行。模式像一种规则一样,是网站所必须的要素。

      现阶段,各大公司对高可用,高并发,易伸缩等性能提供了很多方案。大型架构一书中提到了几种方案。我会做一一分析理解。

      一、分层结构

      作为网站而言,分层是必须的,在我们刚接触到网站开发时,就会有MVC三层模式开发。层次清晰,易于维护。对于大型网站而言,分层是必须的。一般分为Web前台层和APP服务调用层。Web前台可以是各种终端,搭建负载集群,CDN加速等。APP服务层则属于数据处理,业务逻辑分析。前台数据进入APP层进行业务逻辑处理。总之,当业务达到一定极限时,前台Web层与后台APP服务层就得分开部署。

     二、分割结构

      对于业务复杂的系统,开发维护成为一大难题。因此就得对业务进行区分,分模块化,像移动的业务就可分为手机业务,宽带业务等,每一部分由专门团队开发维护,不同模块部署在不同服务器上。这样,一个大型系统就能井井有序的开发维护。

    三、分布式结构

     对于这一名词,很多人都不陌生,分布式,到底什么是分布式呢,分布式是使用更多的服务器完成同样的功能,服务器越多,CPU、内存、存储资源就越多。能够处理的并发量和数据量就越大。

     常用分布式方案以下几种:

     1、分布式应用和服务

     2、分布式静态资源

     3、分布式数据和存储

     4、分布式计算

     5、分布式锁

     6、分布式配置

     7、分布式锁

  四、集群

   什么是集群呢,集群和分布式的区别是什么? 我查阅资料后,了解到是这样的:

   分布式:一个业务分拆多个子业务,部署在不同的服务器上
   集群:多个服务器,都可以实现同样的功能
   如果大家有对分布式和集群更好的理解,也可以交流下。

  五、缓存

  缓存可分为四种:CDN,反向代理,本地缓存,分布式缓存。

  缓存使用条件:1、数据访问模块不均匀   2、数据具有时效性

  六、异步

      业务的发展是需要快速响应的。比如我们去营业厅办理一个套餐变更,办理后成功后,我们就直接能查询到我们的套餐变了,但实际的业务是我们的部分资料已经变更过来,但具体功能还是需要后续操作才能完成。这就是异步的一种例子。数据请求后,返回用户结果,但业务还正在继续办理。

      异步架构最典型的是生产消费者模式,两个不存在直接调用,只要保持不变就行了。举个例子:现在我们快递基本上都放在菜鸟驿站,快递员把快递放在菜鸟驿站后,他就不管了,然后我们某个时间去取,这个过程就是一个异步的过程。符合生产消费者模式。

   七、冗余

    冗余主要是高可用的解决方案。网站需要7*24小时运行,服务器容易随时故障,对于这种故障,一般是不可避免的。因此就需要数据备份,数据备份可以定期备份,热备份,冷备份。

   八、自动化

   在大型网站开发与维护中,自动化管理是不可缺少的部分。

   自动化代码管理

   现在我们经常使用SVN和Git进行版本控制,实际项目中,开发人员只需提交代码路径,开发人,版本,用途即可自动创建分支,合并代码。

   自动化测试

   现阶段的项目,使用自动化测试代替人工测试,人工测试,有很多弊端,自动化测试则可弥补这一现象。

   自动化部署

   将工程代码部署到生产环境上

   自动化监控和自动化报警

   大型系统都会有系统监控,会有探针去探测系统是否正常运行,若有故障,则会提醒相关人员

   九、安全

   安全问题是很多网站的重点。像华为等系统,都是采用内网专网部署。保证了系统的安全性。

  

   此文章是根据日常开发对系统的理解和教授一书中总结。有不足之处,还望大拿们提点。

猜你喜欢

转载自blog.csdn.net/cuipeng1019/article/details/80334567
今日推荐