大型分布式网站架构设计与实践-带书签目录pdf 高清完整版
分享到:
大型分布式网站架构设计与实践2014年9月由电子工业出版社出版发行,是一本非常优秀的大型分布式网站架构方面指导书籍。分布式架构的核心思想是采用大量廉价的PC.server,构建一个低成本,高可用,高可扩展,高吞吐的集群系统,以支撑海量的用户访问和数据存储,理论上具备无限的扩展能力。小编推荐的这本大型分布式网站架构设计与实践总共5章,章与章之间几乎是互相独立的,没有必然的前后依赖关系,因此,读者可以从任何一个感兴趣的专题开始阅读,这本书主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。本书既可供初学者学习,帮助读者了解大型分布式网站的架构,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。感兴趣的朋友们欢迎免费下载并阅读。
禁用于商业用途!如果您喜欢《大型分布式网站架构设计与实践》,请购买正版,谢谢合作。
爱学习,请到3322软件站查找资源自行下载!
——聚划算技术部高级技术专家 刘国华(索尼)
★当下有规模的网站,都采用分布式的架构实现。那么网站如何做到分布式,以及有哪些基础的分布式系统,都是我们的架构师和开发人员想去了解的,而相关的安全问题,以及稳定性、性能、应用的线上问题定位分析等方面的问题也很重要,本书能够比较全面地给读者带来这些相关知识的一个全貌,能够让从业人员对于这些知识有一个比较全面的了解。而康贤也是一个一直奋战在一线的技术人员,亲身经历的总结会显得更加实战和珍贵。
——淘宝技术部总监 曾宪杰(华黎)
1.1 基于TCP协议的RPC
1.1.1 RPC名词解释
1.1.2 对象的序列化
1.1.3 基于TCP协议实现RPC
1.2 基于HTTP协议的RPC
1.2.1 HTTP协议栈
1.2.2 HTTP请求与响应
1.2.3 通过HttpClient发送HTTP请求
1.2.4 使用HTTP协议的优势
1.2.5 JSON和XML
1.2.6 RESTful和RPC
1.2.7 基于HTTP协议的RPC的实现
1.3 服务的路由和负载均衡
1.3.1 服务化的演变
1.3.2 负载均衡算法
1.3.3 动态配置规则
1.3.4 ZooKeeper介绍与环境搭建
1.3.5 ZooKeeper API使用简介
1.3.6 zkClient的使用
1.3.7 路由和负载均衡的实现
1.4 HTTP服务网关
第2章 分布式系统基础设施
2.1 分布式缓存
2.1.1 memcache简介及安装
2.1.2 memcache API与分布式
2.1.3 分布式session
2.2 持久化存储
2.2.1 MySQL扩展
2.2.2 HBase
2.2.3 Redis
2.3 消息系统
2.3.1 ActiveMQ & JMS
2.4 垂直化搜索引擎
2.4.1 Lucene简介
2.4.2 Lucene的使用
2.4.3 Solr
2.5 其他基础设施
第3章 互联网安全架构
3.1 常见的Web攻击手段
3.1.1 XSS攻击
3.1.2 CRSF攻击
3.1.3 SQL注入攻击
3.1.4 文件上传漏洞
3.1.5 DDoS攻击
3.1.6 其他攻击手段
3.2 常用的安全算法
3.2.1 数字摘要
3.2.2 对称加密算法
3.2.3 非对称加密算法
3.2.4 数字签名
3.2.5 数字证书
3.3 摘要认证
3.3.1 为什么需要认证
3.3.2 摘要认证的原理
3.3.3 摘要认证的实现
3.4 签名认证
3.4.1 签名认证的原理
3.4.2 签名认证的实现
3.5 HTTPS协议
3.5.1 HTTPS协议原理
3.5.2 SSL/TLS
3.5.3 部署HTTPS Web
3.6 OAuth协议
3.6.1 OAuth的介绍
3.6.2 OAuth授权过程
第4章 系统稳定性
4.1 在线日志分析
4.1.1 日志分析常用命令
4.1.2 日志分析脚本
4.2 集群监控
4.2.1 监控指标
4.2.2 心跳检测
4.2.3 容量评估及应用水位
4.3 流量控制
4.3.1 流量控制实施
4.3.2 服务稳定性
4.3.3 高并发系统设计
4.4 性能优化
4.4.1 如何寻找性能瓶颈
4.4.2 性能测试工具
4.4.3 性能优化措施
4.5 Java应用故障的排查
4.5.1 常用的工具
4.5.2 典型案例分析
第5章 数据分析
5.1 日志收集
5.1.1 inotify机制
5.1.2 ActiveMQ-CPP
5.1.3 架构和存储
5.1.4 Chukwa
5.2 离线数据分析
5.2.1 Hadoop项目简介
5.2.2 Hadoop环境搭建
5.2.3 MapReduce编写
5.2.4 Hive使用
5.3 流式数据分析
5.3.1 Storm的介绍
5.3.2 安装部署Storm
5.3.3 Storm的使用
5.4 数据同步
5.4.1 离线数据同步
5.4.2 实时数据同步
5.5 数据报表
5.5.1 数据报表能提供什么
5.5.2 报表工具Highcharts
参考文献
2.1.3 分布式session
传统的应用服务器,如tomcat、jboss等,其自身所实现的session管理大部分都是基于单机的。对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同服务器之间跳转。那么,如何保持服务器之间的session同步呢?传统网站一般通过将一部分数据存储在cookie中,来规避分布式环境下session的操作。这样做的弊端很多,一方面cookie的安全性一直广为诟病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显。分布式session正是在这种情况下应运而生的。
对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。另一种解决方案便是将session统一存储在缓存集群上,如memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话。
前端用户请求经过随机分发之后,可能会命中后端任意的Web.Server,并且Web.Server也可能会因为各种不确定的原因宕机。在这种情况下,session是很难在集群间同步的,而通过将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即便是Web Server宕机,也不会影响其他Web Server通过sessionid从Cache Server中获得session,这样既实现了集群间的session同步,又提高了Web Server的容错性。
这里以Tomcat作为Web Server来举例,通过一个简单的工具memcached-session- manager ,实现基于memcache的分布式session。
memcached-session-manager是一个开源的高可用的Tomcat.session共享解决方案,它支持Sticky模式和Non-Sticky模式。Sticky模式表示每次请求都会被映射到同一台后端Web.Server,直到该Web.Server宕机,这样session可先存放在服务器本地,等到请求处理完成再同步到后端memcache服务器;而当Web.Server宕机时,请求被映射到其他Web.Server,这时候,其他Web.Server可以从后端memcache中恢复session。对于Non-Sticky模式来说,请求每次映射的后端Web Server是不确定的,当请求到来时,从memcache中加载session;当请求处理完成时,将session再写回到memcache。
以Non-Sticky模式为例它需要给Tomcat的$CATALINA_HOME/conf/context.xml文件配置SessionManager,具体配置如下:
memcachedNodes="n1:192.168.0.100:11211,n2:192.168.0.101:11211"
sticky="false"
sessionBackupAsync="false"
……
1、下载并解压,得出pdf文件
2、如果打不开本文件,别着急,这时候请务必在3322软件站选择一款阅读器下载哦
3、安装后,再打开解压得出的pdf文件
4、以上都完成后,接下来双击进行阅读就可以啦,朋友们开启你们的阅读之旅吧。
方法二:
1、可以在手机里下载3322软件站中的阅读器和百度网盘
2、接下来直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
免责声明:
来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。禁用于商业用途!如果您喜欢《大型分布式网站架构设计与实践》,请购买正版,谢谢合作。
爱学习,请到3322软件站查找资源自行下载!
作者介绍:
陈康贤,淘宝网工程师,大学毕业后一直在阿里巴巴集团从事软件研发工作,擅长javaweb程序设计,长期在淘宝分布式环境下耳濡目染,目前关注于Java高性能程序设计及性能优化。精彩书评:
★笔者通过大量的实践来分析分布式网站设计过程中常见的难题并逐步给予解答,通过本书可以对分布式网站设计进行一个系统性学习,值得一阅!——聚划算技术部高级技术专家 刘国华(索尼)
★当下有规模的网站,都采用分布式的架构实现。那么网站如何做到分布式,以及有哪些基础的分布式系统,都是我们的架构师和开发人员想去了解的,而相关的安全问题,以及稳定性、性能、应用的线上问题定位分析等方面的问题也很重要,本书能够比较全面地给读者带来这些相关知识的一个全貌,能够让从业人员对于这些知识有一个比较全面的了解。而康贤也是一个一直奋战在一线的技术人员,亲身经历的总结会显得更加实战和珍贵。
——淘宝技术部总监 曾宪杰(华黎)
大型分布式网站架构设计与实践目录:
第1章 面向服务的体系架构(SOA)1.1 基于TCP协议的RPC
1.1.1 RPC名词解释
1.1.2 对象的序列化
1.1.3 基于TCP协议实现RPC
1.2 基于HTTP协议的RPC
1.2.1 HTTP协议栈
1.2.2 HTTP请求与响应
1.2.3 通过HttpClient发送HTTP请求
1.2.4 使用HTTP协议的优势
1.2.5 JSON和XML
1.2.6 RESTful和RPC
1.2.7 基于HTTP协议的RPC的实现
1.3 服务的路由和负载均衡
1.3.1 服务化的演变
1.3.2 负载均衡算法
1.3.3 动态配置规则
1.3.4 ZooKeeper介绍与环境搭建
1.3.5 ZooKeeper API使用简介
1.3.6 zkClient的使用
1.3.7 路由和负载均衡的实现
1.4 HTTP服务网关
第2章 分布式系统基础设施
2.1 分布式缓存
2.1.1 memcache简介及安装
2.1.2 memcache API与分布式
2.1.3 分布式session
2.2 持久化存储
2.2.1 MySQL扩展
2.2.2 HBase
2.2.3 Redis
2.3 消息系统
2.3.1 ActiveMQ & JMS
2.4 垂直化搜索引擎
2.4.1 Lucene简介
2.4.2 Lucene的使用
2.4.3 Solr
2.5 其他基础设施
第3章 互联网安全架构
3.1 常见的Web攻击手段
3.1.1 XSS攻击
3.1.2 CRSF攻击
3.1.3 SQL注入攻击
3.1.4 文件上传漏洞
3.1.5 DDoS攻击
3.1.6 其他攻击手段
3.2 常用的安全算法
3.2.1 数字摘要
3.2.2 对称加密算法
3.2.3 非对称加密算法
3.2.4 数字签名
3.2.5 数字证书
3.3 摘要认证
3.3.1 为什么需要认证
3.3.2 摘要认证的原理
3.3.3 摘要认证的实现
3.4 签名认证
3.4.1 签名认证的原理
3.4.2 签名认证的实现
3.5 HTTPS协议
3.5.1 HTTPS协议原理
3.5.2 SSL/TLS
3.5.3 部署HTTPS Web
3.6 OAuth协议
3.6.1 OAuth的介绍
3.6.2 OAuth授权过程
第4章 系统稳定性
4.1 在线日志分析
4.1.1 日志分析常用命令
4.1.2 日志分析脚本
4.2 集群监控
4.2.1 监控指标
4.2.2 心跳检测
4.2.3 容量评估及应用水位
4.3 流量控制
4.3.1 流量控制实施
4.3.2 服务稳定性
4.3.3 高并发系统设计
4.4 性能优化
4.4.1 如何寻找性能瓶颈
4.4.2 性能测试工具
4.4.3 性能优化措施
4.5 Java应用故障的排查
4.5.1 常用的工具
4.5.2 典型案例分析
第5章 数据分析
5.1 日志收集
5.1.1 inotify机制
5.1.2 ActiveMQ-CPP
5.1.3 架构和存储
5.1.4 Chukwa
5.2 离线数据分析
5.2.1 Hadoop项目简介
5.2.2 Hadoop环境搭建
5.2.3 MapReduce编写
5.2.4 Hive使用
5.3 流式数据分析
5.3.1 Storm的介绍
5.3.2 安装部署Storm
5.3.3 Storm的使用
5.4 数据同步
5.4.1 离线数据同步
5.4.2 实时数据同步
5.5 数据报表
5.5.1 数据报表能提供什么
5.5.2 报表工具Highcharts
参考文献
精彩书摘:
......2.1.3 分布式session
传统的应用服务器,如tomcat、jboss等,其自身所实现的session管理大部分都是基于单机的。对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同服务器之间跳转。那么,如何保持服务器之间的session同步呢?传统网站一般通过将一部分数据存储在cookie中,来规避分布式环境下session的操作。这样做的弊端很多,一方面cookie的安全性一直广为诟病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显。分布式session正是在这种情况下应运而生的。
对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。另一种解决方案便是将session统一存储在缓存集群上,如memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话。
前端用户请求经过随机分发之后,可能会命中后端任意的Web.Server,并且Web.Server也可能会因为各种不确定的原因宕机。在这种情况下,session是很难在集群间同步的,而通过将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即便是Web Server宕机,也不会影响其他Web Server通过sessionid从Cache Server中获得session,这样既实现了集群间的session同步,又提高了Web Server的容错性。
这里以Tomcat作为Web Server来举例,通过一个简单的工具memcached-session- manager ,实现基于memcache的分布式session。
memcached-session-manager是一个开源的高可用的Tomcat.session共享解决方案,它支持Sticky模式和Non-Sticky模式。Sticky模式表示每次请求都会被映射到同一台后端Web.Server,直到该Web.Server宕机,这样session可先存放在服务器本地,等到请求处理完成再同步到后端memcache服务器;而当Web.Server宕机时,请求被映射到其他Web.Server,这时候,其他Web.Server可以从后端memcache中恢复session。对于Non-Sticky模式来说,请求每次映射的后端Web Server是不确定的,当请求到来时,从memcache中加载session;当请求处理完成时,将session再写回到memcache。
以Non-Sticky模式为例它需要给Tomcat的$CATALINA_HOME/conf/context.xml文件配置SessionManager,具体配置如下:
memcachedNodes="n1:192.168.0.100:11211,n2:192.168.0.101:11211"
sticky="false"
sessionBackupAsync="false"
……
下载说明:
方法一:1、下载并解压,得出pdf文件
2、如果打不开本文件,别着急,这时候请务必在3322软件站选择一款阅读器下载哦
3、安装后,再打开解压得出的pdf文件
4、以上都完成后,接下来双击进行阅读就可以啦,朋友们开启你们的阅读之旅吧。
方法二:
1、可以在手机里下载3322软件站中的阅读器和百度网盘
2、接下来直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
展开更多
大型分布式网站架构设计与实践-带书签目录pdf 高清完整版下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: