新書推薦:
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:NT$
347.0
《
美丽与哀愁:第一次世界大战个人史
》
售價:NT$
653.0
《
国家豁免法的域外借鉴与实践建议
》
售價:NT$
857.0
|
內容簡介: |
本书通过理论篇、实践篇、工程篇、总结篇四篇(13章),介绍了分布式系统的知识体系。理论篇介绍了一致性、共识、分布式约束等知识;实践篇介绍了分布式锁、分布式事务、服务发现与调用、服务保护与网关、幂等接口等知识;工程篇介绍了消息系统中间件 RabbitMQ 和分布式协调中间件ZooKeeper等知识;总结篇则帮助大家厘清分布式系统的知识脉络。本书适合想要学习分布式系统理论、实践、工程知识的学生、软件开发者。
|
關於作者: |
崔现斌(笔名易哥),毕业于浙江大学、山东大学,高级软件系统架构师、网络工程师、数据库工程师、软件测试工程师、注册电气工程师。在校成绩优异,曾获得国家奖学金两次,一等奖学金四次,科技创新大赛一等奖三次,以及五四青年科学奖等。主要科研方向为机器学习、分布式算法、容错算法在无线传感网络中的应用,相关论文获得IEEE通信协会论文奖。具有十余年软件开发经验,曾担任网站技术部门负责人,现从事互联网金融行业。主要负责软件系统架构设计与后端开发,专注分布式架构、研发协同、持续交付等领域,设计并实现应用交付流水系统、任务协作与管理系统、通用流处理平台等众多系统或平台。同时也是一名活跃的开源开发者。著有书籍《通用源码阅读指导书》《高性能架构之道》,两本书籍均受到多方好评,并在台湾地区发行繁体版。
|
目錄:
|
目录理论篇第1章 分布式概述21.1 概述21.2 应用的演进历程31.2.1 单体应用31.2.2 集群应用41.2.3 狭义分布式应用91.2.4 微服务应用111.3 分布式系统概述121.3.1 分布式系统的定义121.3.2 分布式一致性问题141.3.3 分布式应用中的节点151.4 分布式应用的优势161.5 分布式应用的问题171.6 本章小结20第2章 一致性212.1 一致性的概念212.1.1 ACID一致性222.1.2 CAP一致性232.1.3 两种一致性的关系232.2 一致性的强弱242.2.1 严格一致性252.2.2 顺序一致性252.2.3 线性一致性272.2.4 终一致性302.2.5 总结312.3 一致性算法322.4 两阶段提交332.4.1 具体实现332.4.2 线性一致性证明352.4.3 优劣392.5 三阶段提交392.5.1 具体实现402.5.2 优劣422.6 本章小结44第3章 共识463.1 共识与一致性463.1.1 共识的概念473.1.2 再论“一致性”493.2 拜占庭将军问题513.3 算法的容错性543.3.1 非拜占庭容错算法553.3.2 拜占庭容错算法553.4 共识算法563.5 Paxos算法563.5.1 提出与证明573.5.2 算法的内容603.5.3 算法实现分析623.5.4 理解与示例643.6 Raft算法653.6.1 Raft算法的内容663.6.2 Raft算法的保证703.6.3 总结分析733.7 本章小结74第4章 分布式约束764.1 CAP定理764.1.1 定理的内容764.1.2 示例与理解774.2 从CAP定理到BASE定理784.3 BASE定理804.3.1 BASE定理的含义804.3.2 BASE定理的应用814.4 本章小结83实践篇第5章 分布式锁865.1 产生背景865.2 特性885.2.1 全局性885.2.2 性895.2.3 遵从性905.3 设计要点905.4 实现915.4.1 逻辑分布式锁915.4.2 性索引分布式锁925.4.3 性校验分布式锁935.4.4 一致性分布式锁945.5 应用场景965.6 本章小结96第6章 分布式事务976.1 本地事务与分布式事务986.2 分布式事务的类别996.2.1 应用内多数据库事务996.2.2 单体应用间事务996.2.3 分布式系统内事务1006.2.4 分布式系统间事务1016.3 分布式事务的类别总结1016.4 应用内多数据库事务方案1026.5 单体应用间事务方案1046.5.1 化为本地事务1046.5.2 化为应用内多数据库事务1056.5.3 TCC1066.5.4 本地异步消息机制1116.5.5 异步消息中心机制1136.6 近似事务1146.7 本章小结116第7章 服务发现与调用1177.1 分布式带来的问题1177.2 服务发现1197.2.1 服务发现模型中的角色1197.2.2 反向代理模型1207.2.3 注册中心模型1207.2.4 服务网格模型1227.2.5 三种模型的比较1237.3 服务调用1237.3.1 背景介绍1237.3.2 基于接口的调用1257.3.3 远程过程调用1267.4 本章小结130第8章 服务保护与网关1318.1 服务保护1318.1.1 理论依据1328.1.2 隔离1338.1.3 限流1358.1.4 降级1398.1.5 熔断1428.1.6 恢复1448.2 服务网关1458.2.1 产生背景1458.2.2 功能1468.2.3 结构1478.3 本章小结147第9章 幂等接口1489.1 概述1489.1.1 幂等接口概述1489.1.2 章节结构1509.2 代数系统1519.2.1 代数系统的定义1519.2.2 特殊元素1519.2.3 幂等1549.3 函数1559.3.1 函数的定义1559.3.2 复合函数1579.4 复合函数的幂等化1579.4.1 函数的幺元化1579.4.2 函数的零元化1589.4.3 运算的幂等化1609.4.4 复合函数幂等化总结1619.5 接口的幺元化1619.6 接口的零元化1629.7 调用的幂等化1639.7.1 判断插入数据1639.7.2 判断删除数据1649.7.3 判断数据版本1649.7.4 拦截重试调用1669.8 幂等接口总结1679.9 本章小结168工程篇第10章 分布式中间件概述171第11章 RabbitMQ详解17411.1 消息系统概述17411.1.1 消息系统模型17411.1.2 消息系统的应用17511.2 RabbitMQ概述17711.3 RabbitMQ的组件17711.3.1 Exchange17711.3.2 Queue17811.3.3 Message17811.4 RabbitMQ的连接17911.4.1 生产者与Exchange17911.4.2 Exchange与Queue18011.4.3 Queue与消费者18111.5 附加功能18211.5.1 投递确认功能18211.5.2 持久化功能18311.5.3 消费确认功能18311.5.4 逐条派发功能18411.5.5 RPC功能18411.6 模型与应用18511.6.1 点对点模型18511.6.2 发布订阅模型18611.7 本章小结187第12章 ZooKeeper详解18812.1 单机配置与启动18812.1.1 运行配置18912.1.2 启动19012.2 数据模型19112.2.1 时间语义19112.2.2 树状模型19212.2.3 znode的数据与状态19212.2.4 znode的可选特性19412.2.5 znode的限额19612.2.6 znode权限设置19712.3 交互式命令行客户端20112.3.1 设置命令20212.3.2 znode操作命令20312.3.3 使用示例20512.4 监听器20612.4.1 特性20612.4.2 事件通知20912.4.3 交互式命令行客户端中的监听器21012.4.4 其他客户端中的监听器21012.5 连接与会话21112.5.1 连接建立21112.5.2 服务器切换21412.5.3 会话状态21512.5.4 连接监听器21612.6 集群模式21712.6.1 集群配置与启动21712.6.2 一致性实现21812.6.3 一致性级别讨论22112.7 应用示例22612.8 应用场景23012.8.1 节点命名23112.8.2 服务发现23212.8.3 应用配置23312.8.4 分布式锁23312.9 本章小结235总结篇第13章 再论分布式系统23813.1 分布式与一致性23813.2 本书脉络24013.2.1 理论篇24013.2.2 实践篇24213.2.3 工程篇24313.3 总结与展望24413.3.1 总结24413.3.2 展望245参考文献247
|
|