干货!腾讯资深架构解密从分布式到微服务
本人免费整理了java高级资料,涵盖了java、redis、mongodb、mysql、zookeeper、spring cloud、dubbo高并发分布式等教程,一共30g,需要自己领取。
传送门:https://mp.weixin.qq.com/s/osb-bol6w-zltstttkqmpq
前言
“微服务”架构在这几年被广泛传播,变得非常火热,以至于关于微服务架构相关的开源框架和工具都变得越来越活跃,比如: netlix oss、dubbo、apache thrift等。spring cloud也因为spring社区在企业应用领域的广泛知名度和强大影响力,受到了广大架构师与开发者的高度关注。
内容简介
分布式架构与微服务平台是当今it界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。本书以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。本书-开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的it发展史,其中重点讲述了大型机、unix 小机器的没落与x86平台的崛起,从而巧妙地引出cpu、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及rpc通信,对内存、soa架构、分布式存储、分布式计算等进行了深度解析,最后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。本书是leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的it人士。
第1章 大话分布式系统:分布式世界是一个很复杂的世界,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构师或资深研发人员,你必须尽可能多地学习与之相关的各种知识,掌握各种技术的演进路线,从一名编程狂人逐渐升级为一名博学的it专家,实践与理论并行、代码与页码齐飞,唯有如此,你才能更好地成就未来。
第2章 “知识木桶”中的短板—— 网络基础:分布式系统从诞生发展到现在已经走过几十个年头了,其中伴随着-些很重要的基础理论, 正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的一座座宏伟大厦。为了练就一身武功,让我们从这些经典的分布式理论开始学起吧。
第3章 分布式系统的经典基础理论:分布式系统从诞生发展到现在已经走过几十个年头了,其中伴随着一些很重 要的基础理论,正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的一座座宏伟大厦。为了练就一身武功,让我们从这些经典的分布式理论开始学起吧。
第4章 聊聊rpc:每个分布式系统都离不开多进程的通信问题,包括本机上多进程之间的ipc通信和基于网络的远程通信技术,后者是分布式系统架构中的核心和关键基础技术之一,就远程通信而言,抛开各种专用系统的远程通信协议如nfs. ftp、 snmp. smtp. pop3 不说,各种通用的远程通信技术也在不断发展变化,比如从最古老的rpc远程通信技术到曾经风靡一时的soap(web service)协议,再到后面红极一时的http rest.如今,由于移动互联网和大数据时代
的兴起,支持多语言与高性能传输的各种rpc框架再次成为热点技术。
第5章 深入浅析内存:除了cpu,内存大概是最重要的计算资源了。基本成为分布式系统标配的缓存中间件、高性能的数据处理系统及当前流行的大数据平台,都离不开对计算机内存的深入理解与巧妙使用。在本章中我们将探索这个让人感到熟悉又复杂的领域。
第6章 深入解析分布式存储:分布式文件系统一直以来都是大型分布式系统中最重要的基础设施之一,hadoop 里最重要的技术不是mapreduce,而是hdfs.除了hdfs,spark还可以与老牌的分布式文件系统glusterfs结合使用,而openstack里最重要.能独立运营并且能赚钱的子系统是分布式对象存储系统swif.当今火热的docker及kubernetes 容器技术依然需要分布式文件系统来实现批量处理任务中的共享存储问题,更不用说无数电商系统都需要一个分布式文件系统来存储海量的照片。因此,掌握分布式存储相关的知识和技能,对于一名分布式系统架构师来说很重要。
第7章 聊聊分布式计算:不管是网络、内存还是存储的分布式,它们的最终目标都是实现计算的分布式:数据在各个计算机节点上流动,同时各个计算节点都能以某种方式访问共享数据,最终分布式计算后的输出结果被持久化存储和输出。分布式计算作为分布式系统里最重要的一个能力和目标,也是大数据系统的关键技术之一。经过多年的发展与演进,目前业界已经存在很多成熟的分布式计算相关的开源编程框架和平台供我们选择。作为架构师,我们应该尽可能地了解和掌握这些框架与平台。
第8章 全文检索与消息队列中间件:在前面的章节中,我们学习了构建一个分布式系统所必需的各种基本知识和技能,比如分布式系统的基础理论、网络编程技术、rpc框架、内存计算、分布式文件系统、分布式计算框架等,但仅仅掌握这些内容还是远远不够的,我们还需要学习和掌握分布式系统中常月的-些中间件,这些中间件主要用于分布式系统中常见的一些业务场景:数据全文检索、日志和消息处理、数据库的分片、网站的负载均衡等。由于篇幅有限,本章只对全文检索与消息队列这两个用途广泛又相对复杂的中间件进行全面介绍。
第9章 微服务架构:微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果。微服务架构也不是一个缥缈、空洞的术语,它的核心理念与架构原则是实实在在的,虽然微服务架构没有公认的技术标准和规范草案,但业界已经有-些很有影响力的开源微服务架构平台,架构师”可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架构平台,以此稳妥地实施项目的微服务化改造或开发进程。