全部商品分类

大型分布式网站架构设计与实践 网站建设理论书籍 网站设计制作教程 计算机网站技术类书网站架构维护书

售价 降价通知
市场价 ¥65.00
会员等级价格
  • 可使积分
    0 积分
  • 累积评价0人评价

  • 累计销量22

  • 赠送积分65

  • 数量
    减少数量 增加数量 (库存986
平台自营
商家名称:
新华尚物 国际订购在线 能工巧匠都在这
客服邮件:
admin@xrsdwk.com
客服电话:
400-003-1812
所在地区:
深圳福田区梅林下梅林裕田花园609

扫一扫,手机访问微商城

推荐精品

同类品牌

最近上新

  • 商品名称:大型分布式网站架构设计与实践 网站建设理论书籍 网站设计制作教程 计算机网站技术类书网站架构维护书
  • 商品编号:CLG001629
  • 品牌:
  • 上架时间:2019-11-07
  • 库存: 986

媒体评论

2008年,淘宝网随着访问量/数据量的巨增,以及开发人员的增长,原有的架构体系已经无法支撑,于是在那一年淘宝网将系统改造为了一个大型分布式的网站。作者目前就职于阿里集团,清晰地看到了目前淘宝这个大型分布式网站的架构体系,这个架构体系其实是非常多方面的技术的融合,要掌握好最重要的首先是看清全貌,但这也是最难的。本书向大家展示了一个大型分布式网站需要的技术的全貌。

——阿里巴巴集团资深技术专家林昊(毕玄)

笔者通过大量的实践来分析分布式网站设计过程中常见的难题并逐步给予解答,通过本书可以对分布式网站设计进行一个系统性学习,值得一阅!

——聚划算技术部高级技术专家刘国华(索尼)

当下有规模的网站,都采用分布式的架构实现。那么网站如何做到分布式,以及有哪些基础的分布式系统,都是我们的架构师和开发人员想去了解的,而相关的安全问题,以及稳定性、性能、应用的线上问题定位分析等方面的问题也很重要,本书能够比较全面地给读者带来这些相关知识的一个全貌,能够让从业人员对于这些知识有一个比较全面的了解。而康贤也是一个一直奋战在一线的技术人员,亲身经历的总结会显得更加实战和珍贵。

——淘宝技术部总监曾宪杰(华黎)

 

目录

第1章 面向服务的体系架构(SOA) 1

本章主要介绍和解决以下问题,这些也是全书的基础:

HTTP协议的工作方式与HTTP网络协议栈的结构。

如何实现基于HTTP协议和TCP协议的RPC调用,它们之间有何差别,分别适应何种场景。

如何实现服务的动态注册和路由,以及软负载均衡的实现。

1.1 基于TCP协议的RPC 3

1.1.1 RPC名词解释 3

1.1.2 对象的序列化 4

1.1.3 基于TCP协议实现RPC 6

1.2 基于HTTP协议的RPC 9

1.2.1 HTTP协议栈 9

1.2.2 HTTP请求与响应 15

1.2.3 通过HttpClient发送HTTP请求 16

1.2.4 使用HTTP协议的优势 17

1.2.5 JSON和XML 18

1.2.6 RESTful和RPC 20

1.2.7 基于HTTP协议的RPC的实现 22

1.3 服务的路由和负载均衡 30

1.3.1 服务化的演变 30

1.3.2  负载均衡算法 33

1.3.3  动态配置规则 39

1.3.4  ZooKeeper介绍与环境搭建 40

1.3.5  ZooKeeper API使用简介 43

1.3.6  zkClient的使用 47

1.3.7  路由和负载均衡的实现 50

1.4  HTTP服务网关 54

第2章 分布式系统基础设施 58

本章主要介绍和解决如下问题:

分布式缓存memcache的使用及分布式策略,包括Hash算法的选择。

常见的分布式系统存储解决方案,包括MySQL的分布式扩展、HBase的API及使用场景、Redis的使用等。

如何使用分布式消息系统ActiveMQ来降低系统之间的耦合度,以及进行应用间的通信。

垂直化的搜索引擎在分布式系统中的使用,包括搜索引擎的基本原理、Lucene详细的使用介绍,以及基于Lucene的开源搜索引擎工具Solr的使用。

2.1  分布式缓存 60

2.1.1  memcache简介及安装 60

2.1.2  memcache API与分布式 64

2.1.3  分布式session 69

2.2  持久化存储 71

2.2.1  MySQL扩展 72

2.2.2  HBase 80

2.2.3  Redis 91

2.3  消息系统 95

2.3.1  ActiveMQ & JMS 96

2.4  垂直化搜索引擎 104

2.4.1  Lucene简介 105

2.4.2  Lucene的使用 108

2.4.3  Solr 119

2.5  其他基础设施 125

第3章 互联网安全架构 126

本章主要介绍和解决如下问题:

常见的Web攻击手段和防御方法,如XSS、CRSF、SQL注入等。

常见的一些安全算法,如数字摘要、对称加密、非对称加密、数字签名、数字证书等。

如何采用摘要认证方式防止信息篡改、通过数字签名验证通信双方的合法性,以及通过HTTPS协议保障通信过程中数据不被第三方监听和截获。

在开放平台体系下,OAuth协议如何保障ISV对数据的访问是经过授权的合法行为。

3.1  常见的Web攻击手段 128

3.1.1  XSS攻击 128

3.1.2  CRSF攻击 130

3.1.3  SQL注入攻击 133

3.1.4  文件上传漏洞 139

3.1.5  DDoS攻击 146

3.1.6  其他攻击手段 149

3.2  常用的安全算法 149

3.2.1  数字摘要 149

3.2.2  对称加密算法 155

3.2.3  非对称加密算法 158

3.2.4  数字签名 162

3.2.5  数字证书 166

3.3  摘要认证 185

3.3.1  为什么需要认证 185

3.3.2  摘要认证的原理 187

3.3.3  摘要认证的实现 188

3.4  签名认证 192

3.4.1  签名认证的原理 192

3.4.2  签名认证的实现 193

3.5  HTTPS协议 200

3.5.1  HTTPS协议原理 200

3.5.2  SSL/TLS 201

3.5.3  部署HTTPS Web 208

3.6  OAuth协议 215

3.6.1  OAuth的介绍 215

3.6.2  OAuth授权过程 216

第4章 系统稳定性 218

本章主要介绍和解决如下问题:

常用的在线日志分析命令的使用和日志分析脚本的编写,如cat、grep、wc、less等命令的使用,以及awk、shell脚本的编写。

如何进行集群的监控,包括监控指标的定义、心跳检测、容量评估等。

如何保障高并发系统的稳定运行,如采用流量控制、依赖管理、服务分级、开关等策略,以及介绍如何设计高并发系统。

如何优化应用的性能,包括前端优化、Java程序优化、数据库查询优化等。

如何进行Java应用故障的在线排查,包括一系列排查工具的使用,以及一些实际案例的介绍等。

4.1  在线日志分析 220

4.1.1  日志分析常用命令 220

4.1.2  日志分析脚本 230

4.2  集群监控 239

4.2.1  监控指标 239

4.2.2  心跳检测 247

4.2.3  容量评估及应用水位 252

4.3  流量控制 255

4.3.1  流量控制实施 255

4.3.2  服务稳定性 260

4.3.3  高并发系统设计 265

4.4  性能优化 277

4.4.1  如何寻找性能瓶颈 277

4.4.2  性能测试工具 285

4.4.3  性能优化措施 292

4.5  Java应用故障的排查 314

4.5.1  常用的工具 314

4.5.2  典型案例分析 331

第5章 数据分析 337

本章主要介绍和解决如下问题:

分布式系统中日志收集系统的架构。

如何通过Storm进行实时的流式数据分析。

如何通过Hadoop进行离线数据分析,通过Hive建立数据仓库。

如何将关系型数据库中存储的数据导入HDFS,以及从HDFS中将数据导入关系型数据库。

如何将分析好的数据通过图形展示给用户。

5.1  日志收集 339

5.1.1  inotify机制 339

5.1.2  ActiveMQ-CPP 343

5.1.3  架构和存储 359

5.1.4  Chukwa 362

5.2  离线数据分析 369

5.2.1  Hadoop项目简介 370

5.2.2  Hadoop环境搭建 374

5.2.3  MapReduce编写 384

5.2.4  Hive使用 389

5.3  流式数据分析 403

5.3.1  Storm的介绍 404

5.3.2  安装部署Storm 407

5.3.3  Storm的使用 418

5.4  数据同步 422

5.4.1  离线数据同步 423

5.4.2  实时数据同步 429

5.5  数据报表 431

5.5.1  数据报表能提供什么 431

5.5.2  报表工具Highcharts 432

参考文献 445

 

文摘

2.1.3  分布式session

传统的应用服务器,如tomcat、jboss等,其自身所实现的session管理大部分都是基于单机的。对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同服务器之间跳转。那么,如何保持服务器之间的session同步呢?传统网站一般通过将一部分数据存储在cookie中,来规避分布式环境下session的操作。这样做的弊端很多,一方面cookie的安全性一直广为诟病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显。分布式session正是在这种情况下应运而生的。

对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。另一种解决方案便是将session统一存储在缓存集群上,如memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话。

如图2-4所示,前端用户请求经过随机分发之后,可能会命中后端任意的Web Server,并且Web Server也可能会因为各种不确定的原因宕机。在这种情况下,session是很难在集群间同步的,而通过将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即便是Web Server宕机,也不会影响其他Web Server通过sessionid从Cache Server中获得session,这样既实现了集群间的session同步,又提高了Web Server的容错性。

图2-4  基于缓存的分布式session架构

这里以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,具体配置如下:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  

memcachedNodes="n1:192.168.0.100:11211,n2:192.168.0.101:11211"  

sticky="false"  

sessionBackupAsync="false"  

lockingMode="auto"  

requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"  

transcoderFactory//assets.alicdn.com/kissy/1.0.0/build/imglazyload/spaceball.gif">

内容简介

    《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。

作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型分布式网站架构设计与实践》既可供初学者学习,帮助读者了解大型分布式网站的架构,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。

 

编辑推荐

    《大型分布式网站架构设计与实践》作者一直奋战在阿里巴巴及淘宝网一线,书中所讲是其亲身经验的总结,显得更加实战和珍贵。全面介绍大型分布式网站架构所涉及的技术细节,通过很多实践案例尽量让每一个关键的技术点都落到实处。深入讲述大型分布式网站架构设计的核心原理,分享大型分布式网站设计的一些常见场景及遇到的问题。

 

作者简介

    陈康贤,淘宝花名龙隆,淘宝技术部研发工程师,2011年加入淘宝网,参与了阿里云手机商城、口碑网迁移、店铺建站、offer、支付宝卡宝、生活商城、淘宝同学等项目,在分布式系统架构设计、高并发系统设计、系统稳定性保障等领域积累了较为丰富的实践经验。曾在程序员上发表过《漫谈基于http协议的SOA架构》《浅析HTTP平台的安全稳定性架构》两篇文章,对基于HTTP协议的SOA架构有深入研究,在排查解决线上问题和故障方面有丰富的实践经验,擅于利用数据分析解决实际问题,对新技术有浓厚的兴趣。

商品评价
  • 100%

    好评度

  • 好评(100%)
    中评(100%)
    差评(100%)
  • 全部评价(0)
  • 好评(0)
  • 中评(0)
  • 差评(0)
  • 用户晒单(0)
售后保障
售前服务电话:联系我们的跟单员
售后服务电话:028-61283330
官方网站:http://gw.xrsdwk.com
本商城向您保证所售商品均为正品行货,与您亲临商场选购的商品享受相同的质量保证。本商城还为您提供具有竞争力的商品价格和运费政策,请您放心购买!

这个地方大家要修改请到themes/pc_paleng_moban/library/baozhang.lbi里面修改
权利声明:
本商城上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是卡卡易购商城重要的经营资源,未经许可,禁止非法转载使用。

注:本站商品信息均来自于厂商,其真实性、准确性和合法性由信息拥有者(厂商)负责。本站不提供任何保证,并不承担任何法律责任。

常见问题
下单后可以修改订单吗?

由本网站发货的订单,在订单打印之前可以修改,打开“订单详情”页面,点击右上角的“修改订单”即可,若没有修改订单按钮,则表示订单无法修改。

无货商品几天可以到货?

您可以通过以下方法获取商品的到货时间:若商品页面中,显示“无货”时:商品具体的到货时间是无法确定的,您可以通过商品页面的“到货通知”功能获得商品到货提醒。

订单如何取消?

如订单处于暂停状态,进入“我的订单"页面,找到要取消的订单,点击“取消订单”按钮。

如何联系商家?

在商品页面右则,您可以看到茶立购的联系信息,点击“联系客服”按钮,咨询茶立购的在线客服人员,或至电15077171666。

收到的商品少了/发错了怎么办?

同个订单购买多个商品可能会分为一个以上包裹发出,可能不会同时送达,建议您耐心等待1-2天,如未收到,本网站自营商品可直接联系茶立购客服。

如何申请退货/换货?

登陆网站,进入“我的订单”,点击客户服务下的返修/退换货或商品右则的申请返修/退换货,出现返修及退换货首页,点击“申请”即可操作退换货及返修,提交成功后请耐心等待,由专业的售后工作人员受理您的申请。

退换货/维修需要多长时间?

一般情况下,退货处理周期(不包含检测时间):自接收到问题商品之日起 7 日之内为您处理完成,各支付方式退款时间请点击查阅退款多久可以到账;
换货处理周期:自接收到问题商品之日起 15 日之内为您处理完成;
正常维修处理周期:自接收到问题商品之日起 30 日内为您处理完成。

温馨提示

确定取消
温馨提示

关闭
您尚未登录

用户登陆

立即注册
忘记密码?
消息MySQL Query Error
SQLINSERT INTO `b_kakabn_com`.`ecs_jilu` (user_name, goods_id, user_id, user_ip, visit_time, laiyuan) VALUES ('', '1629', '', '3.144.233.150', '1714018284', 'pc')
错误Duplicate entry '2657421' for key 'PRIMARY'
代码1062