大规模Web服务开发技术的作品目录

第 1 章大规模 Web 服务的开发定位——掌握整体..............2
第0 课本书的起源——本书讲述的范围................................... 3
从事大规模Web 服务开发——面向大学生的Hatena 实习... 3
本书讲述的内容........................................................................ 3
本书不讲述的内容.................................................................... 5
致今后从事大规模Web 服务的人........................................... 5
第1 课大规模服务和小规模服务................................................. 6
Hatena 的服务规模................................................................... 6
Hatena 是大规模,Google、Facebook 是超大规模................ 8
小规模服务和大规模服务的区别............................................ 9
应对大规模数据量.................................................................. 11
第2 课持续增长的服务和大规模化的障碍............................ 13
Web 服务的困难...................................................................... 13
Hatena 的成长经历................................................................. 13
系统增长战略——最小化开端、预见变化的管理和设计... 17
第3 课服务开发现场...................................................................... 18
Hatena 的技术团队体制.......................................................... 18
Hatena 的沟通方式................................................................. 19
服务开发的实际状况.............................................................. 19
开发所用的工具...................................................................... 21
总结......................................................................................... 23
第2 章大规模数据处理入门
——内存和磁盘、Web 应用程序和负载..................24
第4 课 Hatena Bookmark 的数据规模....................................... 25
以Hatena Bookmark 为例介绍大规模数据........................... 25
Hatena Bookmark 的数据规模................................................ 25
针对大规模数据的查询——处理大规模数据的感觉........... 26
第5 课大规模数据处理的难点——内存和磁盘....................28
为何处理大规模数据如此困难——因为无法在内存中
计算 ..........................................................................................28
内存和磁盘的速度差异——内存要快105~106 倍...............28
为何磁盘这么慢?——内存和磁盘.......................................29
操作系统层的加速处理..........................................................31
传输速度和总线的速度差异...................................................31
第6 课可扩展性的要点..................................................................37
扩展和可扩展性......................................................................37
可扩展性的要点——CPU 负载和I/O 负载...........................38
Web 应用程序和负载的关系..................................................38
数据库的可扩展性很难保证...................................................39
第7 课处理大规模数据的基础知识...........................................44
面向程序员的大规模数据的基础...........................................44
处理大规模数据的三个重点——写程序的技巧...................44
处理大规模数据之前的三大前提知识——程序开发的
底层基础 ..................................................................................45
第3 章操作系统的缓存和分布式
——高效处理大规模数据的原理.................................50
第8 课操作系统的缓存机制........................................................51
在理解操作系统缓存的基础上编写应用程序——页面
缓存 ..........................................................................................51
虚拟内存机制..........................................................................52
Linux 页面缓存原理................................................................54
VFS...........................................................................................56
Linux 以页面为单位缓存磁盘................................................57
内存空闲时就缓存——通过sar 确认.....................................59
增加内存降低I/O 负载...........................................................60
页面缓存是透明的..................................................................61
第9 课降低 I/O 负载的策略.........................................................67
以缓存为前提的降低I/O 负载的策略...................................67
扩展到多台服务器——无法全部缓存的情况.......................68
单纯增加数量无法保证可扩展性...........................................69
第10 课利用局部性的分布式...................................................... 74
什么是利用局部性的分布式?............................................ 74
Partitioning——考虑局部性的分布式X.............................. 75
根据访问模式分割成“岛”——考虑局部性的分布式Y... 78
以页面缓存为前提的基本应用规则.................................... 79
第4 章数据库的横向扩展策略
——以分布式为基础的MySQL 应用.........................82
第11 课正确应用索引
——分布式MySQL 应用的大前提............................ 83
分布式MySQL 应用的三大要点........................................ 83
􀁘灵活应用操作系统缓存.................................................... 83
索引的重点——B 树............................................................ 86
索引的效果........................................................................... 89
确认索引是否有效的方法——explain 命令........................ 92
第12 课 MySQL 的分布式
——以扩展为前提的系统设计.................................... 95
MySQL 的replication 功能.................................................. 95
master/slave 的特征——对参照系进行扩展,更新类
不扩展 ................................................................................... 96
第13 课 MySQL 的横向扩展和Partitioning ............................ 99
MySQL 的横向扩展策略..................................................... 99
关于Partitioning(表分割)的补充.................................... 99
以Partitioning 为前提的设计............................................... 99
避免JOIN——利用where…in…......................................... 102
Partitioning 的代价............................................................. 103
第2~4 章的小结............................................................... 107
第5 章大规模数据处理“实践”入门
——应用程序开发的重点.............................................108
第14 课特殊用途索引——处理大规模数据........................ 109
索引和系统架构——超过RDBMS 的处理能力时........... 109
特殊用途索引——使用调优后的数据结构.......................111
第15 课理论联系实践..................................................................115
探寻必须的技术条件..........................................................115
第2~5 章小结....................................................................117
第6 章压缩编程
——考虑数据大小和I/O 加速之间的关系.............118
第16 课[课题]以紧凑、简洁方式保存整数数据..............119
以紧凑方式保存整数数据..................................................119
出题意图——解决该课题有什么好处?...........................119
课题所用文件的内容..........................................................121
第17 课可变字节码和速度的感觉...........................................122
可变字节码——用紧凑格式保存整数数据.......................122
可变字节码的伪代码..........................................................123
用“差”存储已排序整数..................................................126
(补充􀁘)压缩的基础........................................................126
(补充􀁙)压缩对象是整数的情形——背景理论.............127
第18 课课题详解及解答范例....................................................129
课题详解..............................................................................129
(参考􀁘)pack()函数——将Perl 内部数据结构以
二进制形式输出..................................................................131
(参考􀁙)二进制数据的read/write ...................................133
(参考􀁚)性能分析............................................................135
解答范例和思路..................................................................136
第7 章算法实用化
——从身边的例子来看理论、研究的实践投入....142
第19 课算法和算法评测.............................................................143
数据规模和复杂度的差异..................................................143
何谓算法?..........................................................................144
学习算法的意义——计算机资源有限,工程师的通用
语言......................................................................................145
算法评测——复杂度记法...................................................146
纸巾能折叠几次?——O(logn)和O(n)的差距..................148
算法和数据结构——千丝万缕的联系...............................149
复杂度和常数项——评测很重要.......................................150
应用算法的实际情况——简单就是美.............................. 151
灵活应用第三方实现——CPAN 等................................... 153
通过实例加深感受............................................................. 155
第20 课 Hatena Diary 的关键字链接........................................ 156
什么是关键字链接? ......................................................... 156
最初的实现......................................................................... 156
出问题了!——关键字字典越来越大.............................. 157
用模式匹配实现关键字链接的问题.................................. 158
从正则表达式到Trie——改变匹配的实现方式............... 158
Aho-Corasick 算法.............................................................. 160
换成Regexp::List................................................................ 162
关键字链接的实现、变迁和考察...................................... 163
第21 课 Hatena Bookmark 的文章分类................................... 164
什么是文章分类? ............................................................. 164
机器学习和大规模数据..................................................... 165
大规模数据和Web 服务——The Google Way of Science ... 166
贝叶斯过滤器的原理......................................................... 167
算法实用化之路——Hatena Bookmark 的实例................ 170
防守姿态和进攻姿态——从文档分类功能说开去........... 171
第8 章 Hatena 关键字链接的实现
——理解通向应用之路..................................................176
第22 课[课题]创建Hatena 关键字链接............................. 177
使用Aho-Corasick 算法创建Hatena 关键字链接............ 177
编写测试............................................................................. 180
第23 课解答范例和思路............................................................. 182
解答范例............................................................................. 182
第9 章挑战全文搜索技术
——各种各样的大规模数据处理经验技巧...........184
第24 课全文搜索技术的应用范围.......................................... 185
用Hatena 的数据创建搜索引擎........................................ 185
Hatena Diray 的全文搜索——搜索服务之外的搜索
系统..................................................................................... 185
Hatena Bookmark 的全文搜索——满足细节要求的系统... 187
第25 课搜索系统的架构.............................................................190
搜索系统所需的步骤..........................................................190
各种各样的搜索引擎..........................................................191
全文搜索的种类..................................................................193
第26 课搜索引擎的内部结构....................................................198
逆向索引的结构——Dictionary+Postings..........................198
Dictionary 的创建方法——逆向索引的创建方法1 .........200
小结......................................................................................210
Postings 的创建方法——逆向索引的创建方法2 ............211
关于评分的补充..................................................................213
参考文献..............................................................................214
第10 章创建全文搜索引擎
——基本部分、改进、速度和准确度的要求....216
第27 课[课题]创建Hatena Bookmark 全文搜索..............217
开发全文搜索引擎..............................................................217
课题内容..............................................................................217
示例数据格式和数据大小..................................................218
字典的组成——Dictionary、Postings ................................219
界面......................................................................................220
基础部分+改进...................................................................220
以速度和准确度一决胜负..................................................221
第28 课答案范例和思路.............................................................223
解答范例..............................................................................223
indexer pl 的实现.................................................................223
searcher pl 的实现................................................................225
可以改善的地方..................................................................227
第11 章支持大规模数据处理的服务器/基础设施入门
—— Web 服务的后台..................................................230
第29 课企业软件vs. Web 服务.................................................231
企业软件vs. Web 服务——应用范围上的差异................231
Web 服务的基础设施——三个重点..................................233
第30 课云 vs.自行构建基础设施..............................................235
云计算..................................................................................235
云的优缺点......................................................................... 235
Hatena 应用的云服务......................................................... 236
自行构筑基础设施的优点................................................. 237
自行构建基础设施和垂直结合模型.................................. 239
Hatena 的服务规模............................................................. 240
Hatena Bookmark 的系统架构图....................................... 240
第12 章保证可扩展性的必要思路
——规模扩大和系统扩展..........................................242
第31 课层和可扩展性................................................................. 243
对可扩展性的要求——一台服务器能处理的流量极限.... 243
各层的可扩展性................................................................. 244
第32 课掌握负载进行调优........................................................ 245
掌握负载——可视化的管理界面...................................... 245
测量负载的指标——平均负载、内存和CPU 相关信息.... 247
根据用途进行调优——面向用户的服务器和面向爬虫
的服务器 ............................................................................. 247
应用程序服务器、数据库服务器的调优策略和服务器
数量 ..................................................................................... 249
服务规模和调优................................................................. 250
保证可扩展性..................................................................... 251
第13 章保证冗余性和系统的稳定化
——实现100%在线率的原理..................................252
第33 课保证冗余性...................................................................... 253
保证冗余性——应用程序服务器...................................... 253
保证冗余性——数据库服务器.......................................... 254
保证冗余性——存储服务器.............................................. 257
第34 课系统稳定化...................................................................... 261
保持系统稳定的权衡......................................................... 261
系统的不稳定因素............................................................. 262
第35 课系统稳定对策................................................................. 267
实际的系统稳定对策——维持适当余量,消灭不稳定
因素 ..................................................................................... 267
第14 章提高效率
——提高硬件资源的使用率......................................270
第36 课虚拟化技术......................................................................271
引入虚拟化技术..................................................................271
虚拟化技术的效果..............................................................272
虚拟服务器的构建策略......................................................273
总结虚拟化的优势..............................................................275
虚拟化和运营——通过服务器管理工具在运营上发挥
虚拟化的优势......................................................................276
虚拟化的注意点..................................................................277
第37 课硬件和提高效率
——实现低成本的关键技术........................................280
提高处理器性能..................................................................280
内存和硬盘成本下降..........................................................281
有效利用廉价硬件——以虚拟化为前提的硬件应用.......282
SSD ......................................................................................284
第15 章 Web 服务和网络
——通过网络看服务增长...........................................288
第38 课网络的分界点..................................................................289
服务增长和网络的分界点..................................................289
1Gbps 的极限——PC 路由器的极限.................................289
500 台主机的极限——子网、ARP 表的极限...................290
网络架构的层次化..............................................................291
全球化..................................................................................292
第39 课挑战更高的极限.............................................................295
超越10Gbps 的世界...........................................................295
Hatena 的基础设施——第11~15 章的总结.....................296
第16 章特别篇 当前构建Web 服务需要的实践技术
——应对大规模Web 服务须知...............................298
特别篇第1 课作业队列系统TheSchwartz、Gearman .......299
Web 服务和请求......................................................299
作业队列系统入门...................................................299
Hatena 的作业队列系统..........................................300
通过日志进行分析.................................................. 302
特别篇第2 课存储方式的选择RDBMS 还是
key-value 存储..................................................... 303
如何保存不断增加的数据...................................... 303
选择存储系统的前提条件...................................... 304
存储系统的种类...................................................... 305
RDBMS.................................................................... 305
分布式key-value 存储............................................ 308
分布式文件系统...................................................... 310
其他存储.................................................................. 312
存储系统的选择策略.............................................. 314
特别篇第3 课缓存系统——Squid、Varnish......................... 315
Web 应用程序负载与代理/缓存系统..................... 315
Squid——基本结构................................................. 317
Varnish...................................................................... 321
特别篇第4 课计算集群——Hadoop........................................ 323
大量日志数据的并行处理 ...................................... 323
MapReduce 计算模型.............................................. 323
Hadoop ..................................................................... 325
索引..................................................................................................327



大规模WEB服务开发技术怎么样~

很多人买技术书 都是想学点东西 这本书什么都没说 但是其实又说了一切 我认为按照这本书提供的知识点自己去扩展延伸 运维的能力将不是一般的强 首先作者非常朴实 将这本书的定位在小白初窥门径的手册 但是我觉得很多写大书的人 反而不到位 一门技术 并不是的单单的技术 而是综合能力的体现 这本书告诉我们 基础是多么重要 最新潮的技术 最新潮的词汇 都只是很古老的知识换套衣服而已 特别是索引的那一块的论述 我觉得简单但是击中要害 这本书的确是专家写的 而且真的是大牛 虽然很小的一本小册子 但是其中的东西要自己慢慢琢磨 这本书与其说是一本书 不如说是一个索引 告诉你通过什么样的途径去扩展自己的水平 我认为大部分给的评价过低 可能是有很多成熟的运维人才看 不屑一顾 如果你从事web 想了解一些运维知识 或者 想了解互联网这个行业 这本书都是首选 最后说一句 基础真的很重要 这也是作者真心想说的一句话

直接看XCF的文档、例子

#13185267837# java可以开发什么项目? - ******
#厍景# Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等领域 1、Java SE(Java Platform,...

#13185267837# web后台开发有哪些技术?和服务器端开发有什么区别 - ******
#厍景# web后台开发可以选择php、jsp、asp、Java等语言,后台的开发就是实现某些具体的逻辑或者增删减改等功能,而服务器端的开发主要是数据以及程序相应路由机制等等方向,两者没有太大的差距,主要都是针对数据交互,以及逻辑业务的实现

#13185267837# 给我推荐本关于WEB SERVICES的书. - ******
#厍景# 《Web Services 原理与研发实践》 作者:顾宁 等编著 出版社:机械工业出版社 出版时间:2006年01月 《网络工程师教程》(第2版) 作者:雷震甲 主编 出版社:清华大学出版社 出版时间:2006年06月 在当当网上找的..你自己看清楚在买 http://search.dangdang.com/search.aspx?key=web+services&selbook=0&selmusic=0&selmovie=0&key1=&key2=&key3=&key4=&key5=&catalog=&SearchFromTop=1

#13185267837# 开发Web应用的服务器端主流技术有哪些? - ******
#厍景# 一般开发都需要组合,例如ASP.NET和SQL server数据库、php和sql server、JAVA和sql server ,数据库方面现在好的有sql server 2005.微软的access也是常用.语言主要是c语言,java 语言,php实用于开发中小型网站.

#13185267837# 谁知道关于互联网运营的相关知名书籍,拜求 谢谢! - ******
#厍景# 你算是问对人了1.行业了解 《沸腾十五年》 《浪潮之巅》 《互联网之达芬奇密码》 《不一样的平台,移动互联网时代的商业模式创新》 《电商的战国》 《我看电商》 《改变中国互联网未来的六大力量》 《信息规则 :网络经济的策略指导》 ...

#13185267837# springmvc是什么 ******
#厍景# 本文目录spring mvc 是什么springMVC的核心是什么SpringMVC几个核心类(控制器... 在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术...

#13185267837# 网站开发怎么样? - ******
#厍景# 网站开发在IT行业里边算是入门门槛比较低的!现在网站开发成本越来越低,相应的开发人员的待遇也越来越低.很多的公司对网站要求不是很高的话,都采用简单的模版开发的模式,也就是说他们自己整网站,根本不需要外包给网站开发公司!所以如果有网站开发基础建议转到软件开发行业,这样将来能更有发展前景!

#13185267837# 当前开发基于web视频聊天的技术有哪些? 比如哪些技术组合? 用什么语言开发?当前主流的解决方案? - ******
#厍景# 展开全部1、 基于软件的视频聊天网站. a) 纯C/S架构,基于软件的视频聊天网站,视频聊天平台是软件而不是网站.通过网站与软件的数据同步来实现视频聊天网站的功能.网站会员通过下载网站提供的客户端登陆,然后在统一的软件平台...

#13185267837# web开发需要哪些技术?asp或asp.net与jsp、php有什么区别?哪个上手快?不要复制粘贴啊,答的好我给加50分 ******
#厍景# web开发需要哪些技术? 至少需要javascript和css啦 至于动态语言 asp或asp.net与jsp、php有什么区别?这种问题意义不大, asp上手快

#13185267837# 网页设计师、前端开发、UI\UED设计这几个有什么区别 - ******
#厍景# 网页制作可以大体上分成四个工种: 1 美工 美工的主要任务是设计.了解用户的意图,分析网站配色,基本布局.绘制出一个网站效果图. 美工需要掌握的知识体系应该包括网页设计,UI(User Interface)用户界面人机交互、操作逻辑、界面美观...

  • 大规模Web服务开发技术的作品目录
  • 答:Hatena 的服务规模... 6Hatena 是大规模,Google、Facebook 是超大规模... 8小规模服务和大规模服务的区别... 9应对大规模数据量... 11第2 课持续增长的服务和大规模化的障碍...

  • 使用C语言开发WEB有什么高并发的方案?
  • 答:1. libevent:libevent是一个事件驱动的网络库,它可以帮助你处理大量的并发连接。它提供了高效的事件循环和异步I/O操作,适用于构建高性能的网络应用程序。2. Nginx:Nginx是一个轻量级的高性能Web服务器,它采用事件驱动的架构和非阻塞I/O模型,能够处理大量并发连接。Nginx也可以作为反向代理服务器,...

  • 常用的web服务器软件有哪些?
  • 答:常用的Web服务器软件包括Apache、Nginx、Microsoft IIS、Google App Engine、LiteSpeed和Tomcat等。这些服务器软件各有特点和适用场景,可以满足不同规模和需求的网站服务。Apache是世界排名第一的Web服务器软件,具有广泛的适用性和稳定性。它可以在几乎所有广泛使用的计算机平台上运行,并且支持各种模块和功能...

  • 求推荐几本书。关于互联网运营和通过互联网盈利的一些方面的书籍
  • 答:《网站性能监测与优化》《大规模web服务开发技术》《高性能网站建设进阶指南》b.流量(用户推广)网络营销 《锦囊妙计,网站推广101招》《网络营销推广实战宝典》问题查找即可 《正在爆发的营销革命-社会化网络营销指南》《湿营销》《行动的召唤》《等待猫吠》《SEO实战密码》《SEO艺术》《搜索引擎营销-网站...

  • aws(亚马逊WEB服务)详细资料大全
  • 答:存储类: S3 (Simple Storage Service) : 亚马逊简单存储服务(S3)是一种网路存储服务,可为用户提供持久性、高可用性的存储。用户可以将本地存储迁移到Amazon S3,利用 Amazon S3 的扩展性和按使用付费的优势,应对业务规模扩大而增加的存储需求,使可伸缩的网路计算更易于开发。 EBS (Elastic Block Store)弹性数据...

  • 大规模Web服务开发技术的译者序
  • 答:去年 8 月份,fcicq 向我推荐了《大规模Web 服务开发技术》这本书。当时这本书刚刚出版,在日本着实火了一段时间。后来到网上一查,发现我以前在日本的同事也写了一篇博客推荐这本书,看样子这本书已成为Web 技术人员人手必备的参考读物了。后来博文视点的策划编辑张春雨找到我,希望我翻译这本书。...

  • 如何构建一个每天数十亿次请求级别的web应用
  • 答:3.Google Protobuf 用于数据传输 4.Netty作为后端主要服务器,简单高性能。5.RocksDB作为用户资料读写服务,它是嵌入式数据库,使用Apache Kafka能够跨RocksDB同步数据。6.Kafka是用于消息队列,流化数据处理 7.CQEngine用于主要的内存in-memory快速查询。8.Nginx是主要的反向代理 9.Apache Spark是用户ML...

  • web前端开发都包括哪些技术
  • 答:2、学习CSS(Cascading Style Sheets)—样式。一般看到web前端开发工程师的要求里面,有一个会使用css+html 或者 css+div 来进行界面布局,所以css是用于辅助html来布局和展示的,称之为“css样式”,CSS要熟练掌握float、position、width、height,以及对于的最大最小、会使用百分百、overflow、margin、...

  • 学python可以做什么
  • 答:广泛使用(或曾经广泛使用)Python提供的大型Web服务包括知乎、豆瓣、Dropbox等网站。加之Python本身的“胶水”特性,很容易实现在需要大规模性能级计算时整合其它语言,同时保留Web开发时的轻便快捷。除此之外,Python中还有大量“开箱即用”的模块,用于与各种其它网站的对接等相关功能。如果希望开发个微信...

  • 大规模,高并发网站开发经验都有哪些
  • 答:猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。 向TA提问 关注 展开全部 高并发量网站解决方案 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统...

    为传递更多家电数码信息,若有事情请联系
    数码大全网