架构师的学习可从如下几个方面着手:
第一、基础方面:包括数据结构、操作系统、算法应用、设计模式等一切拥有优秀编程能力所应该熟知的软件基础知识;
第二、技术方面:如何使用优秀的技术产品去构建自己的系统,这些技术产品各自的特点是什么,有什么优缺点、具体原理是怎样的?都要有深刻掌握和理解。对大型互联网系统而言,主要包括缓存、异步、分布式存储、微服务等;
第三、架构方面:考虑点主要包括高可用、高性能、高扩展这三部分。
总之,作为一名技术人,我们既然选择了这个职业,就一定要有上进的决心,不能只顾写代码,一定要提升架构设计能力。因为即使代码写得再好,做的也是执行层面的事儿,就会有收入的天花板,想要突破它,就要突破你做事儿的边界,让自己成为一个架构师或技术负责人。
分布式
什么是分布式架构?
当系统的并发处理能力,存储能力等不足时,我们可能会创建多个 Web 服务 ( 多个 tomcat服务器 ), 多个数据库服务 ( 主动架构等 ) ,这些服务器通过网络进行连接,然后协同处理客户端的并发请求,这样的系统我们称之为分布式系统。(这里要说明的一点是微服务架构是分布式架构,但分布式架构不一定是微服务架构)
为什么需要分布式架构?
当一个系统的业务 量 越来越大时,我们需要垂直或是水平拆分业务系统,同时为了避免所有业务都部署在一台机器上时,一旦机器出现故障从而导致整体不可用,就需要将这些业务部署在多台计算机上,来构建一个分布式架构。
分布式架构可以更好的提高系统的容量、可靠性(避免单点故障)、性能 。同时因为模块化,系统的可重用性以及并行开发的效率也会提高。
因此,想要构建一个健壮的分布式系统,必须先学习相关的基础知识,消化大量信息。
尽管学习分布式系统最好的方式是阅读大量的经典论文,但大部分关于分布式系统的资料,要么太艰深太晦涩,要么散落在不计其数的学术论文中,对于初学分布式系统的从业者来说,门槛太高,学习曲线太陡峭;再加上相关知识点比较零散、不成体系,让人觉得云山雾罩、望而却步。
因此,我收集整理了一套分布式技术进阶学习手册,希望可以帮助你快速而体系化地补齐分布式知识。此外,在分布式系统设计中踩过的坑,在开发实践中看到和经历过的一些典型问题,也将在这里一并分享给你,希望能够帮到更多开发者,并减轻你学习分布式的畏难心理。
分布式监控篇
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 架构,都是在分布式的基础上构建的,业务开发中的框架选型、注册中心,以及服务拆分之后面临的分布式事务问题、分布式锁,也都是分布式系统所关注的。