《大型网站技术架构:核心原理与案例分析》拜读总结——第二章:大型网站架构模式

一:网站架构模式:

1.分层:将网站系统分为:应用层:负责具体业务和视图展示,如首页,搜索输入,结果展示

    服务层:为应用层提供服务,如用户管理,购物车服务

     数据层:数据存储访问,如数据库,缓存,文件,搜索引擎

三层结构分别部署在不同服务器上,使网站拥有更多的资源应对越来越多的用户访问。分层结构对网站支持高并发向分布式发展至关重要。

2.分割:如果说分层是把软件在横向切分,那分割就是纵向切分。

比如在应用层中,将不同业务进行分割:如将购物,论坛,搜索,广告分割成不同应用。

3.分布式:分层和分割的一个主要目的是为了切分后的模块便于分布式部署。

分布式解决了高并发问题的同时也带来了问题:

1!意味着服务调用必须通过网络,可能会影响性能。

2!服务器越多,服务器宕机的概率越大,一台服务器宕机可能导致很多应用不可访问,使得王炸可用性降低

3!分布式环境中保持数据一致性比较困难,分布式事物也难以保证

4!依赖错综复杂,开发管理维护困难

常见的分布式方案:

1.分布式应用和服务: 将分层分割后的应用和服务模块分布式部署,改善网站性能,并发性,加快开发和发布速度,减少数据库链接资源消耗,还能使不同应用服用共 同服务。

2.分布式静态资源:JS,CSS,LOGO图片等,即所谓的动静分离,减轻服务器的负载压力,通过独立域名加快浏览器并发加载速度。

3.分布式数据和存储:除了对传统的关系数据库分布式部署,为网站应用而生的各种NoSQL产品几乎都是分布式的。

4.分布式计算:搜索引擎的索引建立,数据仓库的数据分析统计等,这些计算规模非常庞大,普遍使用Hadoop和MapReduce分布式计算框架进行此类批处理计算,特 点是移动计算,将计算程序分发到数据所在的位置以加速计算和分布式计算。


4.集群:对用户访问集中的模块(首页),需要独立部署集群化,多台服务器部署相同应用构成集群,通过负载均衡设备共同对外提供服务。

当某台服务器故障时,负载均衡设备或系统的失效转移机制会将请求分发到集群中的其他机器上,提高可用性。

5.缓存:缓存是改善系统性能的第一手段

CDN:部署在离用户最近的网络服务商,缓存一些静态资源(较少变化的),最快速度返回给用户。

反向代理:用户请求到达网站的数据中心,最先到达反向代理服务器,缓存静态资源,无需将请求转发给应用服务器就直接返回。

本地缓存:应用服务器本地缓存这热点数据,无需访问数据库

分布式缓存:扩大缓存的内存空间,通过网络通信访问缓存。

缓存使用的前提:数据访问热点不均衡,某些数据被频繁的访问

数据在某个时间段内有效,不会很快过期。



6.异步:系统解耦的手段除了分层,分割,分布,还有一个重要手段是异步,业务之间的消息传递不是同步调用。

单一服务器通过多线程共享内存队列的形式实现异步

分布式系统中多个服务器集群通过分布式消息队列实现异步,分布式消息队列可看作内存队列的分布式部署。

异步架构师典型的生产者消费者模式

1.提高系统可用性

2.加快网站响应速度

3.消除并发访问高峰

7.冗余:服务器冗余,当某台服务器宕机时,将其上的服务和数据访问转移到其他机器上。

数据库除了定期备份,存档保存的冷备份外还要主从分离,实时同步实现热备份。

为了抵御不可抗力自然灾害,全球范围部署灾备数据中心。


8.自动化:发布运维方面实现自动化

发布过程自动化,自动化代码管理,自动化测试,自动化安全检测,自动化部署,自动化监控,自动化报警,自动化失效转移,自动化失效恢复,降级,分配资源

9.安全:

密码,手机校验码进行身份确认。

通信加密

网站验证码

XSS攻击,SQL注入进行编码转移

垃圾信息过滤

转账,交易模式进行风险控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值