读书笔记——《大规模Web服务开发技术》

读书笔记——《大规模Web服务开发技术》


第一章:定位——掌握整体

1、大规模web的概念、规模
2、Hatena的成长经历


第二章-第五章:大规模数据处理方法

第二章:入门——内存和磁盘、web应用和负载
1、大规模数据处理入门
    HatenaBookmark的数据规模
    精辟言论:每天发生的未知问题——在尝试中积累经验。没有“出现某种问题就该怎么做”的理论,只能在反复尝试中积累着经验。
2、大规模数据处理的难点——内存和磁盘
    关于瓶颈,不要推测,要测量,掌握测量工具top,uptime,sar,ps,strace,oprofile
    操作系统调优,就是找出负载原因(瓶颈)并去除之
3、可扩展性要点——cpu负载和i/o负载
    cpu负载的扩展十分简单,可借助于:
        增加相同结构的服务器,通过负载均衡器来分散
        web、应用程序服务器、爬虫
    i/0负载的扩展十分困难,可借助于:
        数据库 
        大规模数据    
4、处理大规模数据的基础知识
        写程序的技巧(能在内存中完成多少,能应对数据量增加的算法和数据结构,数据压缩、信息搜索技术)
        程序开发的底层基础(操作系统缓存,以分布式为前提的RDBMS应用,算法和数据结构)
          

第三章:操作系统的缓存和分布式
处理大规模数据的要点——i/o方面由操作系统负责
1、操作系统的缓存
    内存的速度是磁盘的10的5次方-10的6次方倍
2、以缓存为前提的i/o负载降低策略
3、利用缓存上的局部性进行分布式


第四章:数据库的横向扩展策略——以分布式为基础
1、索引的重点
2、mysql的分布式
    Replication,读写分离
3、横向扩展与Partitioning
    Partitioning的优点:降低负载、增加局部性,提高缓存效果
                  缺点:运维变复杂,故障率上升,经济成本上升
    Partitioning是杀手锏


第十一章-第十五章:web服务的基础设施
第十一章:支持大规模数据处理的服务器/基础设施入门——web服务的后台
1、web服务的基础设施特点和Hatena的特点
   企业软件vs web服务
      web服务基础设施重视的三点:
          1)低成本、高效率(不应当追求100%可靠性)
          2)设计很重要(可扩展性、响应性很重要)
          3)开发速度很重要(要为服务提供灵活的资源)
   云vs.自行构建基础设置

各种技术(后续章节详细介绍,第十二章-第十五章)
2、可扩展性
3、冗余化
4、提高效率
5、网络


第十二章:可扩展性思路——规模扩大和系统扩展
1、层和可扩展性
可扩展性要求:
    许多服务可以在1台服务器上运行
    大规模服务无法在一台服务器上运行
各层的可扩展性:
    应用程序服务器,配置相同、不持有状态,扩展容易
    数据源(数据库、文件服务器等)
        read的分布式比较容易(安装大量内存等)
        write的分布式,难

2、掌握负载进行调优
掌握负载
   使用服务器管理工具
状态的监视
将负载可视化,以便掌握瓶颈、异常等
    (测量负载的指标——平均负载、内存、cpu信息)
理解操作系统运行原理,正确发挥服务器性能
     根据用途调优——面向用户服务器和面向爬虫服务器
负载均衡(lvs)


第十三章:保证冗余性和系统稳定性
不追求100%在线率(但需努力达到),去除单点故障(SPOF)
冗余性:
应用程序服务器:
    增加服务器数量
    负载均衡器实现失败转移和失败恢复
数据库服务器:
    增加数量
    Multi_master(切换时有不同步的风险,忽略该风险,有问题人工恢复)
存储服务器:
    分布式文件系统(MogileFS)

稳定性:
不稳定因素
    负载增大(功能增加、内存泄露、地雷、用户访问模式、数据量增加、外部管理程序增加)
    硬件问题(性能下降,内存、硬盘、网卡故障)
稳定性措施:
    维持适当余量(内存容量、cpu负载使用7成)
    去除不稳定因素(规定sql负载上限,必要时转移,减少内存泄露,异常行为自律,自动DoS判断(mod_dossdetector),自动重启(应用程序服务器和宿主操作系统),自动终止耗时查询(kill掉耗时过长的sql))


第十四章:提高效率——提高硬件资源使用率
1、硬件效率(实现冗余化导致使用率下降)
2、虚拟化技术(提高主机集成度)
虚拟化优缺点及必要性
    Hatena使用Xen
3、自行组装服务器(只组装必须设备,降低成本)
    ssd做slave(性能优秀)
    ssd寿命


第十五章:web服务和网络
网络的分界点
  1Gbps的界限(pc路由器极限)
  500主机的界限(一个子网的极限,子网、arp表极限)
  全球化、CDN
  更高的界限


第十六章:当前构建web服务需要的实践技术
1、作业队列系统——TheSchwarts/Gearman
2、存储的选择——RDBMS或key-value存储
3、缓存选择_Squid/Varnish
4、计算集群——Hadoop












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值