分布式计算从20世纪六七十年代到现在,一直是计算机科学技术理论与应用的热点问题,特别是最近几年随着互联网、移动互联网、社交网络应用的发展,急需分布式计算的新技术——云计算、大数据,来满足和实现新时代计算机的应用需求。云计算、大数据等新技术本质上都是分布式计算的发展和延伸,现有的相关书籍很少把经典分布式计算、新兴的云计算和大数据等技术综合起来,并以应用需求为背景来剖析这些技术的原理和应用方法。2015年出版的教材《分布式计算、云计算与大数据》正是为了满足这一新的发展趋势和需求而编写的,对云计算、大数据等新技术的研究与应用具有重要的意义。
教材出版几年来,师生和广大读者反映使用效果良好,评价较高。然而,最近十年,分布式计算、云计算、大数据相关技术领域日新月异,技术飞速发展,涌现出很多新模式、新方法、新技术。为此,我们对第1版教材进行了修订,第2版教材一方面删除或精简了Web服务、RMI、Socket编程等比较陈旧的内容,另一方面新增了ACID原则、CAP定理、BASE理论等分布式基础理论,云原生技术、边缘计算、三大主流资源管理调度系统(Borg、Mesos和YARN)、云安全与技术标准等技术方法内容,K8s、OpenStack、容器相关实践技术等内容,使教材的内容与时俱进,与分布式计算、云计算和大数据技术的发展相适应。
本书内容包括:分布式计算的基本原理(分布式计算模式、分布式基础问题与理论等)和编程开发技术(Socket、客户服务器、RMI和P2P编程技术),云计算的原理、关键技术(体系结构、数据存储、计算模型、资源调度、虚拟化)、主流云计算平台(谷歌云计算、亚马逊云计算、阿里云计算、华为云计算)、编程开发方法(CloudSim仿真编程、OpenStack程序开发),云原生技术(容器、微服务、K8s、服务网格等)、云计算安全技术与标准及云存储技术,大数据的分析处理关键技术、计算模式和编程技术(MapReduce、Spark)、平台(Hadoop、HDP等),大数据应用开发方法和典型应用案例(实时医疗大数据分析案例和保险大数据分析案例)等。全书共11章,各章之间的层次关系如下所示。
本书可以作为计算机相关专业本科高年级学生和研究生的教材,学生最好在学习操作系统、计算机网络、面向对象编程语言之后学习本书。全书内容可根据不同的教学目的和对象进行选择。例如,对于本科类的分布式计算相关课程,可以选择分布式计算相关章节(第1~6章)重点讲解;对于本科类的云计算相关课程,可以选择分布式计算和云计算相关章节(第1~8章)重点讲解;对于本科类的大数据相关课程,可以选择分布式计算和大数据相关章节(第1~6章和第9~11章)重点讲解;对于研究生的课程,可以选择云计算和大数据相关章节重点讲解。根据本书的定位,建议每章讲授最低学时分配如下。
此外,本书的教学应该配有相应的实验教学内容,建议实验课程的学时数不少于理论课程学时数的三分之一。
本书由林伟伟教授负责总体设计、组织和把关,刘波教授和刘发贵教授负责整体润色和审校。本书各章内容的编写由项目组多位博士生和硕士生参与完成,他们是张子龙、郭超、徐思尧、吴文泰、汤元丰、罗潇轩、吴伟正等,在编写本书的过程中,他们投入大量精力进行程序设计与资料收集和整理工作,在此特别表示感谢。
衷心感谢美国纽约大学的李克勤院士、克莱姆森大学的James Z. Wang教授等人对本书编写的指导和鼓励。
尽管笔者投入了大量的精力、付出了艰辛的努力,然而受知识水平所限,错误和疏漏之处在所难免,恳请广大读者批评指正。如果有任何问题和建议,可发送邮件至linww@scut.edu.cn或lin_w_w@qq.com。
华南理工大学 林伟伟
2023年12月30日于广州