《大规模分布式系统架构与设计实战》

《大规模分布式系统架构与设计实战》

基本信息

作者: 彭渊   

丛书名: 大数据技术丛书

出版社:机械工业出版社

ISBN:9787111455035

上架时间:2014-2-21

出版日期:2014 年2月

开本:16开

页码:1

版次:1-1

所属分类:计算机 > 操作系统 > 操作系统理论 > 分布式操作系统

 

更多关于》》》《大规模分布式系统架构与设计实战》

 

内容简介

    书籍

    计算机书籍

  《大规模分布式系统架构与设计实战》是作者从程序员到首席架构师十多年职业生涯的实战经验总结,系统讲解构建大规模分布式系统的核心技术与实现方法,包含作者开源的fourinone系统的设计与实现过程,手把手教你掌握分布式技术。通过学习这个系统的实现方法与相关的理论,读者可快速掌握分布式系统的理论并设计自己的分布式系统。

  《大规模分布式系统架构与设计实战》从分布式计算的基本概念开始,解剖了众多流行概念的本质,深入讲解分布式系统的基本原理与实现方式,包括master-slave结构、消息中枢模式、网状直接交互模式、并行结合串行模式等,以及fourinone系统的架构、实现分布式功能的示例。接下来详细介绍分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台的设计与实现方法,不仅包括详细的架构原理、算法,还给出了实现步骤、核心api、实现代码。随书附带的光盘包括书中示例代码以及fourinone系统源代码。

 

 

目录

《大规模分布式系统架构与设计实战》

前 言

第1章 概述 1

1.1 分布式计算、并行计算、云计算概述 1

1.2 分布式产品hadoop、zookeeper、hbase概述 6

1.3 fourinone的产生背景 12

第2章 分布式并行计算的原理与实践 14

2.1 分布式并行计算模式 14

2.1.1 最初想到的master-slave结构 14

2.1.2 “包工头-职介所-手工仓库-工人”模式 15

2.1.3 基于消息中枢的计算模式 17

2.1.4 基于网状直接交互的计算模式 18

2.1.5 并行结合串行模式 22

2.1.6 包工头内部批量多阶段处理模式 23

2.1.7 计算集群模式和兼容遗留计算系统 24

2.1.8 工人计算的服务化模式 26

2.2 跟hadoop的区别 28

2.3 关于分布式的一些概念与产品 30

2.4 配置文件和核心api介绍 35

2.5 实践与应用 36

2.5.1 一个简单的示例 36

2.5.2 工头工人计算模式更完整的示例 39

2.5.3 工人合并互相say hello的示例 44

2.5.4 实现hadoop经典实例word count 48

2.5.5 分布式多机部署的示例 52

2.5.6 分布式计算自动部署的示例 53

2.5.7 计算过程中的故障和容灾处理 57

2.5.8 计算过程中的相关时间属性设置 60

2.5.9 如何在一台计算机上一次性启动多个进程 63

2.5.10 如何调用c/c++程序实现 68

2.5.11 如何中止工人计算和超时中止 68

2.5.12 使用并行计算大幅提升递归算法效率 73

2.5.13 使用并行计算求圆周率π 81

2.5.14 从赌钱游戏看pagerank算法 86

2.5.15 使用并行计算实现上亿排序 96

2.5.16 工人服务化模式应用示例 104

2.6 实时流计算 107

第3章 分布式协调的实现 111

3.1 协调架构原理简介 111

3.2 核心api 113

3.3 权限机制 115

3.4 相对于zookeeper的区别 116

3.5 与paxos算法的区别 117

3.6 实践与应用 119

3.6.1 如何实现公共配置管理 119

3.6.2 如何实现分布式锁 126

3.6.3 如何实现集群管理 129

3.6.4 多节点权限操作示例 134

3.6.5 领导者选举相关属性设置 137

第4章 分布式缓存的实现 139

4.1 小型网站或企业应用的缓存实现架构 139

4.2 大型分布式缓存系统实现过程 140

4.3 一致性哈希算法的原理、改进和实现 147

4.4 解决任意扩容的问题 152

4.5 解决扩容后数据均匀的问题 153

4.6 分布式session的架构设计和实现 154

4.7 缓存容量的相关属性设置 156

4.8 缓存清空的相关属性设置 158

第5章 消息队列的实现 162

5.1 闲话中间件与mq 162

5.2 jms的两种经典模式 163

5.3 如何实现发送接收的队列模式 164

5.4 如何实现主题订阅模式 168

第6章 分布式文件系统的实现 173

6.1 fttp架构原理解析 174

6.2 搭建配置fttpadapter环境 177

6.3 访问集群文件根目录 179

6.4 访问和操作远程文件 181

6.5 集群内文件复制和并行复制 184

6.6 读写远程文件 187

6.7 解析远程文件 189

6.8 并行读写远程文件 191

6.9 批量并行读写远程文件和事务补偿处理 194

6.10 如何进行整型读写 198

6.11 基于整型读写的上亿排序 205

第7章 分布式作业调度平台的实现 219

7.1 调度平台的设计与实现 219

7.2 资源隔离的实现 224

7.3 资源调度算法 226

7.4 其他作业调度平台简介 227

7.4.1 其他mpi作业资源调度技术 227

7.4.2 mesos和yarn简介 229

 

本图书信息来源:互动出版

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WINDOWS下的squid

今天写这篇教程目的在于分享自己在WINDOWS主机下配置squid的方法。哪些地方写的不完善或是不完整或是需要修改的地方,大家可以提出。我会第一时间纠正。下面看正文部分。先提条件,您预安装配置squid的这台计算机必须是联入网络的,系统版本是w…

Provide/inject 真的可以取代 Vuex 吗?

Hello,各位小伙伴,接下来的一段时间里,我会把我的课程《Vue.js 3.0 核心源码解析》中问题的答案陆续在我的公众号发布,由于课程的问题大多数都是开放性的问题,所以我的答案也不一定是标准的,仅供你参考喔。…

php 计算代码执行时间

转载链接:http://blog.csdn.net/php_boy/article/details/6450678 class runtime {var $StartTime 0;var $StopTime 0;function get_microtime(){list($usec, $sec) explode( , microtime());return ((float)$usec (float)$sec);}function start(){$this->S…

参数方程求二阶偏导_偏微分方程

常微分方程(ODE) 的时候我们更多是关于时间的导数。偏微分方程(partial differential equation) 则不仅仅是与时间相关,加上了与空间位置相关的一些信息。解当 ODE 满足 利普希茨连续(Lipschitz continuity&#xff09…

Spring Batch 批量处理策略

为了帮助设计和实现批量处理系统,基本的批量应用是通过块和模式来构建的,同时也应该能够为程序开发人员和设计人员提供结构的样例和基础的批量处理程序。当你开始设计一个批量作业任务的时候,商业逻辑应该被拆分一系列的步骤,而这…

CString原理介绍

看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。 CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程&#xff0c…

如何从零开始开发一个 Chrome 插件?

什么是浏览器插件?简单来说浏览器插件,是浏览器上的一种工具,可以提供一些浏览器没有的功能,帮你做一些有趣的事情。开发者可以根据自己的喜欢,去实现一些功能。插件基于Web技术(html、css、js)…

mysql 重复字段查询及排除重复值

转载链接:http://blog.sina.com.cn/s/blog_3edc5e2e010131ys.html mysql 重复字段查询及排除重复值 SELECT a.id,a.title FROM dede_archives a left join dede_taglist t on t.taga.title WHERE t.typeid$id and t.arcrank>-1 and a.typeid28 group by t.tag; …

swiper移入暂停_react中swiper注意事项及鼠标划入停止轮播

首先是实例化swiper这里有一个注意点,就是实例化的时机如果你的swiper内容是写死的,可以在componentDidMount中实例化,但是如果你的内容是通过接口异步请求过来的,就必须在componentDidUpdate里实例化,因为如果在 comp…

轉Excel的一種簡單方法

写了这么久的程序﹐越来越喜欢那种简单的解决方法﹐这段时间在做一个报表系统﹐其中有需要转Excel﹐而且要求兼容openoffice﹐遂利用asp语法,asp.net的控件封装特性以及excel 2003的xml试算清格式做了一个看起来比较"清爽"的excel转档方案。一.开始原理很简单﹐excel…

详解MySQL中EXPLAIN解释命令

转载链接:http://database.51cto.com/art/200912/168453.htm explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了: 如:…

Shell编程基础

我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): # !/bin/sh ...注意:最好使用“!/bin/bash”而不是“!/bin/sh”,…

总结:自学前端的高效学习路线

提到前端,大多数人都会想到薪资高。也正因为如此,很多人想要从事前端开发这个岗位,也由此衍生出来一个问题:为什么前端工程师供不应求,但还是有很多学前端的人找不到工作?其实行业不是缺前端工程师&#xf…

机器人出魔切还是三相_英雄联盟:辅助也要去上单,机器人布里茨玩法介绍

英雄联盟:辅助也要去上单,机器人布里茨玩法介绍出装方面我们都知道他的被动是可以将法力值化为机的护盾的,而这样的话装备就可以选择魔切,然后再出一个鞋子,为什么不先出三项呢?三项的性价比是比较高的&…

vmware创建虚拟机不识别网卡

今天在给虚拟机添加网卡的时候,出现了虚拟机不识别新加的网卡,很纳闷,连的一样的端口组,为什么新加的网卡识别不了呢 然后查看pci设备,发现网卡的驱动为 AMD 79C970 PCnet32- LANCE 然后都vc上查看,果真驱动…

转:26个Jquery使用小技巧(jQuery tips, tricks solutions)

26个Jquery使用小技巧(jQuery tips, tricks & solutions) 前段时间发布了Jquery类库1.4版本,使用者也越来越多,为了方便大家对Jquery的使用,下面列出了一些Jquery使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接…

周末包邮送书和小红包中奖名单公布

大家好,我是若川。周末送福利,给大家送红包、包邮送新书!这篇文章中,准备了3本自选前端新书,10个2元小红包,在看抽10人每人5元红包,2月28日晚8点开奖。现将名单公布如下:在看抽奖&am…

Ubuntu 命令行修改网络配置方法

转载链接:http://www.jb51.net/article/15807.htm Ubuntu 命令行修改网络配置方法 /etc/network/interfaces 打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载. 1. 以DHCP方式配置网卡 编辑文件/etc/network/interfaces: sudo v…

python treeview底部加个按钮_Python爬取京东商品信息(GUI版本)

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者:DYblog转载:https://www.cnblogs.com/dy8888/p/13257918.htmlPS:如有需要Python学习资料的小伙伴可以加点击…

Linux下编译安装Mysql简单步骤

常规方式编译安装MySQL时,适合用第一条最正宗的MySQL产品线5.2及以前版本:所谓常规方式编译安装MySQL就是延续早期MySQL的3部曲安装方式,即./configure;make;make install,下面是老男孩在早期的企业生产场景下操作过的具体命令及参…