`

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

阅读更多
感谢java图书出版权威机械工业出版社出版了《大规模分布式系统架构与设计实战》一书,该书相对于技术博客和指南更加详细完整的介绍了fourinone的设计思想和架构原理,收集了众多典型示例并附有大量图示步骤,手把手教你掌握分布式核心技术。
详细参见:http://product.china-pub.com/3769476#con_a_1

前言
在大数据、云计算如火如荼的今天,各类技术产品顺应潮流层出不穷。大家是不是有这种感觉:Hadoop还没学完,Storm就来了;Storm刚学会安装配置,Spark、Hama、Yarn等又一起出现了;同时国内外各大云平台厂商,如Google、亚马逊、阿里云等,还在推各自应用开发平台……要学习的东西太多了,就是这样疲于奔命地学,刚学会了某个产品的安装配置与开发步骤,没多久它又过时了。
  这么多千姿百态的分布式技术和产品背后有没有某些共性的东西呢?能让我们换了马甲还能认出它,让我们超越学习每个产品的“安装配置开发”而掌握背后的精髓呢?有没有可能学一反三,学一招应万招,牢牢掌握好技术的船舵,穿越一次次颠覆性的技术浪潮?本书的目的就是为你揭示分布式技术的核心内幕,透彻理解其精髓,站在浪潮之巅。
  因此,这不是一本讲如何使用Hadoop的书,而是一本讲实现Hadoop功能的书,是一本讲如何简化实现分布式技术核心功能的书。这不是一本空谈概念、四处摘抄的书,而是来源于作者十多年来在私企、港企、外包、创业、淘宝、华为等企业打拼,从底层程序员一路走到首席架构师的实战经验总结。绝技源于江湖,将军发于卒伍,这本书讲的是你在课本上学不到核心技术,无论你是在中国什么样的IT企业做什么样的分布式应用,这本书对你都具备参考性。
  本书面向千千万万战斗在一线攻城拔寨的程序员、工程师们,你可以有很多基础,也可以从头开始,只要你树立理想,并下决心改变自己。本书尽量做到深入浅出和通俗易懂,希望帮助你降低分布式技术的学习成本,帮助你更容易完成工作任务,更轻松地挣钱。
  本书根据分布式技术的主要应用,分别介绍分布式并行计算的基本概念、分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台等,详细阐述分布式各技术的架构原理和实现方式,并附带大量示例,便于读者实际操作运行。基于本书原理,作者用Java实现并开源了Fourinone框架,这是一个高效的分布式系统,归纳在150KB源码里,代码不到1万行,让你能够轻松掌握。学习开发核心技术的诀窍是多动手,建议读者运行本书附带的大量DEMO,在运行后细细体会分布式的理论,进行反思和总结。本书归纳的设计思想和算法不局限于某个框架,读者领会后可以用任何语言来实现自己的分布式系统。
  本书各章有一定的独立性,阅读本书的方式比较自由,可以从头开始,也可以随性翻阅。从第2章开始,每章都有理论部分与示例,读者可以先运行DEMO,不清楚的地方再回看原理;也可以先看原理,再运行DEMO加深理解。由于时间的限制,且本书写作的时期是在作者最为忙碌和事业的转折时期,匆忙中,难免出错,请朋友们海涵,并提出意见以便于今后纠正。最后感谢机械出版社华章公司所有幕后编辑的大量工作,感谢所给予我帮助与支持的领导和朋友。
  本书所有源码附带在光盘里。你也可以登录开源地址下载,开源地址:http://code.google.com/p/fourinone
  作者联系方式:邮箱:Fourinone@yeah.net
  Q群1:1313859
  Q群2:241116021
  Q群3:23321760
分享到:
评论
6 楼 fourinone 2014-10-30  
xurping 写道
对于书中的领导者谦让选举算法不是很明白,就3台机器初始运行,主服务器当掉,剩下两台A、B服务器如何选举出新的主服务器问题如下:
=========================完整疑问推理

既然形象比喻为谦让,A和B是要按资排辈的,不会抢着做头,而是会由资格老点的A询问是否有人做头,B谦让。局长不在了,并不是所有副局都是一样资格的,内部排名是有先后的。有人问,既然按资格轮做,那为什么A还要明知故问呢。这是因为政治的复杂性,和现实一样,高层有可能直接提拔第三把做领导,而弃用第二把。分布式环境一样复杂,特殊情况下,B已经是头了,A就算资格更老,也只能谦让。
可以结合程序试试,配置一主两备3个ParkServer,然后把主关掉,绝对不会产生两个领导。
5 楼 xurping 2014-10-30  
对于书中的领导者谦让选举算法不是很明白,就3台机器初始运行,主服务器当掉,剩下两台A、B服务器如何选举出新的主服务器问题如下:
=========================完整疑问推理===========================================
1)  A,B “同时”向对方询问“我做头?”,同时标记自己为“头”,
        1.1) A请求到达B,B告诉A,我已经是头,A谦让,好的,同意B是头;
        1.2) B请求到达A,A告诉B,我已经是头,B谦让,好的,同意A是头;
        1.3) 出现A、B都是头
2)  A,B “同时” 向对方询问“我做头?”,同时不标记自己为“头",
        1.1) A请求到达B,B发现自己不是头,谦让,同意A做头;
        1.2) B请求到达A,A发现自己不是头,谦让,同意B做头;
        1.3) 出现A、B都是头
3)  A,B “同时” 向对方询问“我做头?”,同时标记自己想做“头",
        1.1) A请求到达B,B发现自己也想做头,如何谦让?
        1.2) B请求到达A,A发现自己也想做头,如何谦让?
        1.3) 无论谦让对方做头还是确认自己做头,都会出现A、B都是头
这里的 “同时” 不一定是严格意义上的时间相等概念,在分布式系统中,只要A、B分别在收到对方的“我做头?”请求前,发出了自身的“我做头?”请求,就可以认为是“同时”发出了
==================================================================================
4 楼 fourinone 2014-03-26  
abirdman 写道
通过跟踪代码,第1个问题找到了,是工人服务器问题,有一个工人能注册但不能连上,过了很长时间报“拒绝连接”,导致整体上表现很慢,关掉这个工人机就没事了。
第2个问题也找到解决方案了,查了作者写的这本书,里面写到了心跳时间和抢救时间,默认的抢救时间为0(不抢救)。我们虾米没看书就不懂里面的奥秘,建议官方还是设个默认抢救时间。我现在设了抢救时间,后期看效果。


主要是你的计算太繁忙工人没空和职介所保持联系,最简单的办法把心跳时间调长点就可以了。
3 楼 abirdman 2014-03-26  
通过跟踪代码,第1个问题找到了,是工人服务器问题,有一个工人能注册但不能连上,过了很长时间报“拒绝连接”,导致整体上表现很慢,关掉这个工人机就没事了。
第2个问题也找到解决方案了,查了作者写的这本书,里面写到了心跳时间和抢救时间,默认的抢救时间为0(不抢救)。我们虾米没看书就不懂里面的奥秘,建议官方还是设个默认抢救时间。我现在设了抢救时间,后期看效果。
2 楼 abirdman 2014-03-25  
补充下上面说的第2点,那几个不能获取到的工人计算机,进程还在运行,我把进程杀掉,重运行工人程序,就可以被协同服务器获取了。
1 楼 abirdman 2014-03-25  
碰到两个诡异的问题,不知道有人碰到过没有
1. 我在工头类的giveTask里去得到工人,用的getWaitingWorkers方法,当工人不多时很快,当工人计算机开了10来个,这个方法要过很长时间才返回,代码如下:
    public WareHouse giveTask(WareHouse inhouse){
        long t1 = System.currentTimeMillis();
        /**
         * 工头在人才交流中心得到想要的工种的工人
         */
        WorkerLocal[] wks = getWaitingWorkers("daylaborer");
        System.out.println("得到临时工费时:"+(System.currentTimeMillis() - t1));
        System.out.println("得到临时工个数:"+wks.length);
        ... 
        ...
    }

服务器打印的结果:
2014-03-20 15:49:05,318 INFO  [STDOUT] (http-0.0.0.0-8180-8) 得到临时工费时:192542
2014-03-20 15:49:05,318 INFO  [STDOUT] (http-0.0.0.0-8180-8) 得到临时工个数:16
不知道getWaitingWorkers获取工人是不是一个个的去轮询的,因为我开一个工人会很快,开3个会慢一点,开的越多就越长时间才能返回,开16个时就难以忍受的超过3分钟。

2. 当第1天我开好协同服务器和16个工人计算机后,第2天发现只能获得13个工人,有3个工人无法获取。但是我登录到那3个不能获取的工人计算机,用ps命令发现工人的进程还在运行。再过一天又会少几个工人,但工人进程还在。

相关推荐

    大规模分布式存储系统:原理解析与架构实战.pdf

    《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的一部经典著作,作者杨传辉依托于深厚的理论知识和实践经验,为读者详尽地解析了分布式存储系统的核心技术和基本原理,并针对全球顶尖互联网公司的...

    大规模分布式存储系统:原理解析与架构实战.杨传辉

    《大规模分布式存储系统:原理解析与架构实战》是由杨传辉编著的一本深入探讨分布式存储技术的专业书籍。本书全面解析了分布式存储系统的基本原理,并结合实际案例,提供了架构设计与实施的实践经验。 分布式存储...

    大规模分布式存储系统:原理解析与架构实战,分布式服务框架原理与实践_李林锋著

    《大规模分布式存储系统:原理解析与架构实战》与《分布式服务框架原理与实践》这两本书深入探讨了现代IT行业中至关重要的两个主题:分布式存储系统和...通过学习,读者能够掌握设计和实施大规模分布式系统的必备技能。

    大规模分布式存储系统:原理解析与架构实战-书签扫描pdf版

    《大规模分布式存储系统:原理解析与架构实战》是一本深度探讨分布式存储系统的专业书籍,主要针对分布式系统的设计、实现和优化进行了详尽的解析。该PDF版本包含了书签扫描,便于读者快速定位和查阅相关内容。 ...

    大规模分布式存储系统:原理解析与架构实战

    《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(OceanBase核心开发人员)撰写,阳振坤、章文嵩、杨卫华、汪源、余锋(褚霸)、赖春波等来自阿里、...

    规模分布式存储系统:原理解析与架构实战.rar

    本资源"规模分布式存储系统:原理解析与架构实战.rar"深入探讨了这一领域的核心概念、工作原理以及实际应用。 分布式存储系统是一种将数据分散存储在多个独立的节点上的技术,它旨在提供高可用性、可扩展性和容错性...

    《大型分布式网站架构设计与实践》

    《大型分布式网站架构设计与实践》是一本深入探讨如何构建和优化大规模分布式系统的权威书籍。在互联网技术高速发展的今天,大型分布式网站已经成为支撑各种在线业务的核心。本书详细阐述了从概念到实施,从理论到...

    大规模分布式存储系统:原理解析与架构实战 完整版 PDF

    综上所述,《大规模分布式存储系统:原理解析与架构实战》是一本全面深入地讲解分布式存储系统的专业书籍。无论是对于在读学生,还是对于IT行业的从业者来说,这本书都是一份不可多得的参考资料。通过学习和实践书中...

    分布式机器学习系统 工程与实战.pptx

    《分布式机器学习系统、工程与实战》是一本全面深入地探讨分布式机器学习领域的书籍,主要内容包括分布式机器学习的发展历程、系统架构、工程构建以及实际应用案例。 一、分布式机器学习的发展历程 分布式机器学习...

    大规模分布式存储系统 杨传辉

    《大规模分布式存储系统:原理解析与架构实战》是一本深入探讨分布式存储系统核心理论与实践的书籍。在当今大数据时代,如何有效地管理和处理海量数据是IT领域的一大挑战,而分布式存储系统则为此提供了有效解决方案...

    大型分布式网站架构设计与实践

    《大型分布式网站架构设计与实践》是一本深入探讨在互联网时代如何构建和优化大规模网站架构的专业书籍。随着互联网业务的快速发展,单体架构已经无法满足高并发、高可用、高可扩展的需求,分布式架构应运而生。这...

    大型分布式网站架构设计与实践高清扫描中文版

    《大型分布式网站架构设计与实践》是一本深入探讨如何构建高效、可扩展、高可用性的分布式网站架构的专业书籍。本书涵盖了分布式系统的基础理论、设计原则以及实战经验,旨在帮助读者理解并掌握大型网站背后的技术...

    10本Java架构师必读书籍

    8. 大规模分布式系统架构与设计实战 本书从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用。 知识点: * 大规模分布式系统架构 * 分布式...

    分布式服务框架原理与实践

    分布式服务框架是现代大型互联网应用的核心技术之一,它旨在解决单体系统在扩展性、可维护性和...通过学习,读者不仅能理解分布式服务的基本概念和技术,还能获得实践经验,为构建和优化大规模分布式系统打下坚实基础。

    分布式系统技术学习引导

    学习分布式系统技术和微服务架构,你可以从以下几方面入手:阅读相关书籍如《微服务架构设计模式》、《分布式系统原理与实践》,研究开源项目如Netflix的OSS套件,参与实战项目以加深理解,同时利用模拟环境如...

    系统架构设计师教程

    《系统架构设计师教程》是一本深入探讨系统架构设计的专业书籍,尤其适合那些希望提升自己在这一领域技能的设计师们。本书全面覆盖了系统架构设计的基础理论、实践方法以及相关的安全和保密性设计策略。 首先,系统...

Global site tag (gtag.js) - Google Analytics