21世纪以来,大规模分布式系统、云计算和云原生技术飞速发展,在短短20年间就成为各大企业信息技术基础架构的核心基石。
企业迈向分布式的根本原因包括:
移动互联网时代,各大企业每天都在和巨大的流量和爆炸性增长的数据打交道;
摩尔定律的失效,使得提升单机性能会产生很高的成本,同时网络速度越来越快,意味着并行化程度只增不减;
此外,许多应用都要求7×24小时可用,因停电或维护导致的服务不可用,变得越来越让人难以接受;
最后,经济全球化也导致了企业必须构建分布在多台计算机甚至多个地理区域的系统。
相较于单体应用或单机系统,分布式应用或分布式系统具有高性能、高可用性、容错性和可扩展性等优点。可见,未来所有的基础架构都会是分布式的。
然而分布式系统是一个相当复杂的领域,需要处理各种各样的异常,这些异常不仅难以排查和诊断,而且难以复现,这不是增加测试或采用DevOps就能解决的,有些异常是不可避免的,需要在软件架构中做取舍。
因此,想要构建一个健壮的分布式系统,必须先学习相关的基础知识,消化大量信息。
尽管学习分布式系统最好的方式是阅读大量的经典论文,但大部分关于分布式系统的资料,要么太艰深太晦涩,要么散落在不计其数的学术论文中,对于初学分布式系统的从业者来说,门槛太高,学习曲线太陡峭;再加上相关知识点比较零散、不成体系,让人觉得云山雾罩、望而却步。
因此,我收集整理了一套分布式技术进阶学习手册,希望可以帮助你快速而体系化地补齐分布式知识。此外,在分布式系统设计中踩过的坑,在开发实践中看到和经历过的一些典型问题,也将在这里一并分享给你,希望能够帮到更多开发者,并减轻你学习分布式的畏难心理。
由于篇幅原因,本文只展示了目录和内容截图,有需要学习的小伙伴直接添加小助理vx:mashibing0218 即可获取免费下载方式
分布式监控篇
Nginx学习笔记
内容展示:
Zookeeper学习笔记
毋庸置疑,ZooKeeper 已经成为互联网行业不可或缺的基础组件。ZooKeeper 实现了高可用的分布式协调机制,能够提供配置管理、命名服务、分布式同步、分组服务等分布式系统中不可或缺的基础能力。这份笔记会深入分析Zookeeper,主要内容包括:
Zookeeper综述
Zookeeper基础
单节点源码解读
Zookeeper高级
集群源码解读
先看看总目录
内容展示
分布式消息队列篇
Kafka学习笔记
互联网行业中,Kafka 承担的职责变得越来越重要。Kafka 不仅仅承担了数据流的责任 “发布 / 订阅”,更是在事实上成为了 “下一代” 数据架构的基础。这份笔记足以帮助你来学习Kafka了,先看看总目录
内容展示
RabbitMQ学习笔记
作为主流的消息中间件之一,RabbitMQ 广泛应用于互联网行业。这份笔记深入浅出的分析阐述,希望能够帮助到你学习RabbitMQ,主要包括以下内容:
消息中间件概述
安装及配置RabbitMQ
RabbitMQ入门
AMQP
RabbitMQ工作模式
Spring Boot整合RabbitMQ
RabbitMQ高级
RabbitMQ集群
RabbitMQ高可用集群〔扩展】
RabbitMQ应用与面试
目录展示
内容展示
RcoketMQ学习笔记
现今时代,系统越来越复杂,数据越来越多,系统间的交互也就变得越来越重要,同时也变得越来越困难。而消息中间件在其中起到了一个中间桥梁的重要作用。因此,面试中也经常会被问到RocketMQ消息中间件相关的问题。从其使用到其原理设计,都会是面试官感兴趣的一个点。这份RcoketMQ学习笔记绝对能帮你搞定面试及学习上的问题,先来看看目录吧!
内容展示
分布式数据篇
分布式数据存储MongDB
先来看看总目录
内容展示
Redis学习笔记
Redis 是一个开源的,基于内存的可持久化的非关系型数据库存储系统。在实际项目中可以用 Redis 做缓存或消息服务器,Redis 也是目前互联网中使用比较广泛的非关系型数据库。这份笔记不管从面试还是技术讲解都深入分析了学习Redis的正确姿势!
内容展示
分布式事务学习笔记
微服务架构的普及,离不开分布式事务在其中所起的举足轻重的作用,分布式事务保证了多项服务间的数据一致性,是分布式系统的根基。这份笔记从事务的基本理论出发,由浅入深,总结了目前常用的分布式事务解决方案,主要内容包括:
基础概念
分布式事务基础理论
分布式事务解决方案之2PC(两阶段提交)
分布式事务解决方案之TCC
分布式事务解决方案之可靠消息最终—一致性
分布式事务解决方案之最大努力就是通知
分布式事务综合案例分析
总结
分布式高并发实战篇
总结
如果想在技术线上深耕和谋求发展,成为高级工程师、资深工程师或者架构师,掌握分布式系统知识已经成为了必要的一环。不管是目前流行的 SOA 架构,还是蓬勃发展的微服务和 Serverless 架构,都是在分布式的基础上构建的,业务开发中的框架选型、注册中心,以及服务拆分之后面临的分布式事务问题、分布式锁,也都是分布式系统所关注的。
希望上面这些笔记能够帮助到有需要的小伙伴
由于篇幅原因,本文只展示了目录和内容截图,有需要学习的小伙伴直接添加小助理vx:mashibing0218 即可获取免费下载方式