新华一城书集店铺主页二维码
新华一城书集 微信认证
上海新华书店官方微信书店
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

分布式存储系统:核心技术、系统实现与Go项目实战 李庆(李庆)

95.20
运费: ¥ 5.00-20.00
库存: 3 件
分布式存储系统:核心技术、系统实现与Go项目实战    李庆(李庆) 商品图0
分布式存储系统:核心技术、系统实现与Go项目实战    李庆(李庆) 商品缩略图0

商品详情

产品特色.png

编辑推荐.png

1)大厂资深工程师撰写,串联纷繁复杂的分布式存储知识,通俗易懂、好学易用,一本书学透,进阶存储资深工程师2)以Go和Linux存储为;地基,以分布式系统核心技术与实现;主框架,以分布式文件系统为;梁柱,利用多种业务场景和案例进行可用性夯实,打造存储知识体系;样板间

内容简介.png

全书分为3篇。第1篇存储基本原理和分布式基本原理。特别针对 Linux OS 的 IO 知识进行讲解,并且还会结合 Go 的存储编程实现。第二篇剖析现有的存储系统实现,对它们使用的设计,概念,实现进行深入的剖析。以此来借鉴。第三篇进行编程实战,将编写数个极具实践价值的应用程序,并且形成一个完备的分布式存储系统。

作者简介.png

李庆:资深存储系统工程师,拥有近十年存储研发与落地经验。曾参与设计和运维多个EiB级别(百亿兆字节规模)的存储系统,这些系统应用于全球领先的科技企业,支撑着关键业务的数据处理和存储需求。

目录简介.png

目  录  Contents前言第一部分 Go语言基础第1章 存储概述21.1 Go语言与存储应用21.2 存储:云变革的基石31.3 存储技术的发展31.3.1 提升速度41.3.2 扩大容量41.4 本章小结4第2章 Go语言的数据结构52.1 字节52.1.1 字节的定义52.1.2 字节的序列62.2 数组和切片102.2.1 数组102.2.2 切片112.3 字符串132.3.1 变量的定义142.3.2 内存的分配152.3.3 字符串的操作162.3.4 类型转换202.4 map类型212.4.1 创建与初始化212.4.2 读取、写入和删除242.4.3 元素遍历292.5 Channel类型322.5.1 创建与初始化322.5.2 入队和出队342.5.3 select和Channel结合412.5.4 for_range和Channel结合442.6 接口类型452.6.1 变量的定义452.6.2 实现原理472.6.3 接口nil赋值和判断542.7 本章小结55第3章 Go语言的I/O框架563.1 I/O的定义563.1.1 基础类型563.1.2 组合类型603.1.3 进阶类型633.2 通用I/O函数683.2.1 面向I/O接口的操作683.2.2 文件I/O的操作函数703.3 文件系统713.3.1 FS接口的定义723.3.2 FS接口的实现和扩展743.4 I/O标准库拓扑783.4.1 字节I/O783.4.2 字符串I/O793.4.3 网络I/O803.4.4 文件I/O823.4.5 缓冲I/O833.5 文件I/O和网络I/O853.5.1 文件I/O863.5.2 网络I/O893.6 本章小结98第二部分 存储基础第4章 Linux 存储基础1024.1 存储架构1024.1.1 系统调用1034.1.2 VFS层1064.1.3 文件系统层1224.1.4 块层1234.1.5 设备驱动层1234.2 文件的定义1244.2.1 文件的类型1244.2.2 一切皆文件1274.2.3 文件句柄1304.3 文件系统1314.3.1 文件系统的挂载要素1324.3.2 文件系统的开发要素1324.4 文件I/O函数1344.4.1 打开文件1354.4.2 写文件1374.4.3 读文件1384.4.4 文件偏移操作1394.4.5 数据刷盘1414.4.6 关闭文件1414.5 本章小结142第5章 存储I/O实践1435.1 文件的读写1435.1.1 顺序I/O1435.1.2 随机I/O1465.2 数据安全落盘的方式1485.2.1 Sync刷盘方式1485.2.2 Direct I/O方式1495.3 读写优化思路1535.3.1 写操作的优化1545.3.2 读操作的优化 1595.4 本章小结162第6章 高级I/O模式1636.1 阻塞和非阻塞I/O1636.2 同步和异步I/O1646.3 I/O 接口的模式1656.3.1 同步阻塞I/O1656.3.2 同步非阻塞I/O1666.3.3 异步阻塞I/O1676.3.4 异步非阻塞I/O1676.4 Linux的I/O模式实现1686.4.1 信号驱动I/O1686.4.2 Linux的异步I/O1696.4.3 I/O多路复用1716.5 本章小结172第7章 并发I/O模型1737.1 多进程模型1737.2 多线程模型1747.3 协程模型1757.3.1 基本原理1757.3.2 Go语言的Goroutine1787.4 I/O多路复用1797.4.1 select1817.4.2 poll1837.4.3 epoll1847.5 本章小结200第8章 缓存模式2018.1 旁路缓存模式2028.1.1 读操作流程2028.1.2 写操作流程2038.2 读写穿透模式2058.2.1 读穿透模式2058.2.2 写穿透模式2068.3 异步回写模式2068.4 本章小结207第9章 数据校验技术2089.1 数据校验的概念与原理2089.2 数据校验的应用场景2099.3 常见数据校验技术2109.3.1 奇偶校验2109.3.2 循环冗余校验2119.3.3 摘要算法2129.4 本章小结215第三部分 分布式系统基础第10章 分布式存储理论21810.1 分布式系统的特征21810.2 分布式系统的问题22010.2.1 无全局时钟22010.2.2 网络异常22010.2.3 结果的三态22110.3 数据一致性22210.3.1 状态一致性22210.3.2 操作一致性22210.4 分布式理论22510.4.1 CAP 理论22510.4.2 BASE 理论22610.5 分布式协议22710.5.1 2PC协议22710.5.2 3PC协议22810.5.3 Paxos协议23010.5.4 Raft协议23310.6 本章小结236第11章 高可用系统23711.1 高可用的概念与原理23711.2 高可用的关键技术23811.3 高可用的架构模式24011.3.1 双机架构的模式24011.3.2 集群模式24211.4 本章小结245第12章 数据策略24612.1 数据分布设计原则246lt;

【前言】

Preface 前  言为什么要写这本书在这个信息技术飞速发展的时代,数据已成为一种重要的资产。随着互联网技术突飞猛进的发展,海量数据的生成、存储、处理以及分析逐渐成为常态。在这种背景下,分布式存储系统以其高可靠性、可伸缩性和高性能,成为支撑大数据时代的坚固基石。本书的编写基于我对当代分布式存储技术的深刻理解,以及对Go语言在此领域的潜力的深刻认识。Go语言因其简洁的语法、强大的并发处理能力和优异的性能,成为构建大规模分布式系统的首选语言之一。存储是底层的技术,涉及的知识广泛而复杂,经常让初学者望而却步。很多存储技术开发的人员都是在实际工作中逐步摸索,积累的知识往往是零散且碎片化的,难以形成系统化的思维框架。当遇到问题时,他们往往难以迅速找到解决方案。因此,目前缺少的不仅是一本能够引导读者入门存储领域的书籍,更是一本能帮助读者构建起存储知识体系,并将理论应用到实践中去的指导书。本书旨在全面深入地解读分布式存储系统的基础原理,并借助Go语言去实践这些原理。从基础知识到知识体系构建,从代码演示到典型项目分析,再到项目实战,本书将逐步引导读者深入理解并实际运用分布式存储技术,帮助读者构建起完整的存储知识体系,以便快速进入存储开发领域。本书特色Go存储编程的技巧:深入浅出地讲解Go语言的基础数据结构、存储I/O框架、并发编程等关键技术点。Linux存储体系:构建起完整的Linux存储体系,帮助读者从根本上理解存储技术的内在逻辑。理论与实践相结合:通过丰富的代码示例与测试手段分析关键存储技术的实现过程,并展示如何使用Go语言打造真实运行的分布式存储系统。经典项目深度解读:详细讲解了Minix、FUSE、LevelDB等经典存储项目,以便读者深刻理解它们的核心原理,并快速掌握存储技术的开发与实践。分布式存储的项目实践:实现了一个真实的分布式存储项目,以便读者从实践中深入理解分布式存储的原理。读者对象本书适合具备一定Go语言开发经验,并对Linux基础知识有了解的读者阅读。具体来说,本书适用于以下读者:Go语言开发工程师。分布式存储领域的初学者。希望通过Go语言优化现有存储解决方案的资深开发者。如何阅读本书本书共16章,分为四部分。读者可以按照章节顺序阅读,也可以根据需求挑选感兴趣的章节进行专项学习。第一部分(第1~3章) Go语言基础,涵盖以下内容。第1章阐述了存储的重要性,并特别讨论了Go语言在存储领域的重要性。第2章介绍了Go语言在存储编程中常用的数据结构,以方便读者了解底层的数据存储细节。第3章深入介绍了Go语言的I/O框架,系统梳理了Go语言存储编程的知识体系。第二部分(第4~9章) 存储基础,涵盖以下内容。第4章详细探讨了Linux的存储架构以及文件和文件系统的核心概念。第5章展示了常见的存储编程案例,探讨了读写优化的策略以及数据安全性的保障方法。第6章深入剖析了多种I/O模式,以及Linux上的典型I/O模式的实现。第7章详细介绍了多种I/O并发模型,包括多进程、多线程、协程模型,并深入讨论了I/O多路复用的原理和实现。第8章解读了多种缓存模式,包括旁路缓存、读写穿透、异步回写模式等。第9章阐述了数据校验技术及其在实际中的应用场景。第三部分(第10~12章) 分布式系统基础,涵盖以下内容。第10章阐释了分布式系统的基础理论,如CAP和BASE等,并分析了2PC、3PC、Paxos、Raft等分布式协议。第11章讲述了常见的高可用模式和关键技术。第12章探讨了数据分布策略和数据冗余策略。第四部分(第13~16章) 存储系统实战,涵盖以下内容。第13章介绍了Linux上经典磁盘文件系统Minix的原理和实现。第14章介绍了存储引擎LevelDB的原理和实现。第15章介绍了用户态文件系统的原理和实现,并演示了一个简易用户态文件系统HelloFS的构建过程。第16章基于HelloFS,指导读者逐步搭建一个分布式的存储系统。勘误和支持由于编写时间仓促,书中难免有疏漏或不够精确之处,恳请读者批评指正。如果读者有更多宝贵意见,欢迎访问微信公众号;奇伢云存储进行讨论,我会尽力在线上为读者答疑解惑。同时,也可以通过邮箱liqingqiya@163.com联系我。期待得到读者的反馈,让我们在技术之路上互勉共进。致谢感谢我的妻子,她的耐心和理解为我提供了一个宁静且充满爱的创作环境。同时,感谢我的家人,他们是我坚实的后盾,给予了我必要的支持和鼓励。本书也是献给我心爱的女儿的特殊礼物,祝愿她健康成长。李庆

新华一城书集店铺主页二维码
新华一城书集 微信公众号认证
上海新华书店官方微信书店
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

分布式存储系统:核心技术、系统实现与Go项目实战 李庆(李庆)

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:xhbookmall
新华一城书集微书店官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏