面试八股-分布式

1.大网站的特点

  • 高并发 高流量 亿级用户 Google IP日均3亿 QQ最大在线用户数1.4亿。
  • 高可用 系统7x24不间断服务。
  • 海量数据:用大量服务器管理海量数据,Facebook每周10亿照片,百度收录数百亿网页,Google有百万台服务器为全球用户提供服务
  • 用户分布广泛 网络情况复杂:为全球用户提供服务
  • 安全环境恶劣:互联网站容易受到攻击
  • 需求快速变更 发布频繁:每周都有版本发布上线,中小型网站更频繁,一天几十次。
  • 渐进式发展:慢慢运营,不是一开始就开发好的,和网站的架构发展演化对应。

2.大型网站架构演化发展过程

  • 初始阶段:一台服务器,放应用程序、文件、数据库。

  • 应用服务和数据服务分离:应用和数据分离,放应用服务器、文件服务器、数据服务器。这3台服务器对硬件资源的要求各不相同

    • 应用服务器需要处理大量业务逻辑 CPU
    • 数据库服务器 磁盘检索数据缓存 内存和磁盘
    • 文件服务器 存储用户上传文件 更大磁盘
  • 使用缓存改善网站性能:使用大内存服务器作为专门缓存服务器

  • 使用应用服务器集群改善网站并发处理能力:增加多个应用服务器,结合负载均衡调度服务器进行请求调度。

  • 数据库读写分离:使用主从数据库,主库写,从句读,通常会使用专门数据访问模块,使数据库读写分离对应用透明。

  • 反向代理和CDN:使用反向代理服务器和CDN服务器进行内容缓存,尽早将请求

  • 使用分布式文件系统和分布式数据库:数据库拆分的最后手段,单表规模巨大的时候使用。

  • 实用NoSQL和搜索引擎:对于复杂的检索和存储使用非关系型数据库技术实现。

  • 业务拆分:将网站业务分成不同产品线,分归不同业务团队负责。

  • 分布式微服务:公用服务抽取出来,独立部署,由这些可复用的服务连接数据库,提供公用服务,应用系统只需要管理用户界面。

3.CAP和Base

  • C 强一致性

  • A 可用性

  • P 分区容错性

  • CA 传统Oracle数据库

  • AP 大多数网站架构选择

  • CP Redis Mongodb

  • BA基本可用

  • Soft state 软状态

  • Eventually consistent 最终一致性

一致性算法:paxos raft zab算法等

4.负载均衡策略

  • 轮询法:每个请求按时间顺序逐一分配给不同的服务器,不关注服务器当前的实际连接数和系统负载。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值