学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。
学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路、说话、穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自己了。
学习本来只是一种本能,算不上什么能力,然而,经过二十多年的不断学习,学习反而成为了一种真正的能力,因为我们慢慢失去了它,它就更显得珍贵。
作为一个程序员,不断的学习更是重要,不学新的知识就迟早会被淘汰掉
在众多计算机技术当中,分布式技术无疑是最璀璨的明珠之一。毫不夸张地说,没有分布式技术就没有互联网,也就没有现在的阿里巴巴、腾讯、亚马逊、Facebook、谷歌等科技巨头,更不会有以信息技术为核心的、对人类历史产生巨大变革的第三次工业革命。万维网、Email、DNS 等,都是分布式系统的典型代表。
一、分布式系统常用技术及案例分析
“不积跬步,无以至千里;不积小流,无以成江海。”虽然整个分布式文档从构思到完成的时间不足一年, 但文档中的大部分知识点,却是我在多年的学习、工作中积累下来的。之所以能够实现快速写作,一方面是做了比较严格的时间管理,另一方面也得益于我多年坚持写博客的习惯。
分布式场景解决方案.mind图
目录:
本文档共分为10个版块。
**第1版块:**介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知
识点以及可能会面临的问题,其中包括线程、通信、-致性、容错性、CAP理论、安全性合并
发等相关内容。
**第2版块:**详细介绍分布式系统的架构体系,包括传统的基于对象的体系结构、SOA,也包括
最近比较火的RESTful风格架构、微服务、容器技术、Serverless 架构等。
**第3版块:**介绍常用的分布式消息服务框架,包括Apache ActiveMQ、RabbitMQ、 RockeMQ、
Apache Kafka等。
**第4版块:**介绍分布式计算理论和应用框架方面的内容,包括MapReduce、Apache Hadoop.
Apache Spark、Apache Mesos等。
**第5版块:**介绍分布式存储理论和应用框架方面的内容,包括Bigtable Apache HBase. Apache
Cassandra、Memcached、 Redis、 MongoDB 等。
**第6版块:**介绍分布式监控方面常用的技术,包括Nagios、Zabbix、Consul、 ZooKeeper 等。
**第7版块:**介绍常用的分布式版本控制工具,包括Bazaar、Mercurial、 Git 等。
**第8版块:**介绍RESTful API、微服务及容器相关的技术,着重介绍Jersey、Spring Boot、Docker
等技术的应用。
**第9版块和第10版块:**分别介绍以淘宝网和Twitter为代表的国内外知名互联网企业的大型分布
式系统案例,分析其架构设计以及演变过程。
总内容截图:
所有技术好文精选文档都整理到网盘了。
二、分布式事务专题
- 基础概念
- 分布式事务基础理论
- 分布式事务解决方案之2PC(两阶段提交)
- 分布式事务解决方案之TCC
- 分布式事务解决方案之可靠消息最终一致性
- 分布式事务解决方案之最大努力通知
- 分布式事务综合案例分析
总内容截图:
三、从Paxos到ZooKeeper分布式一致性原理与实践
在计算机科学领域,分布式一致性问题是一个相当重要,且被广泛探索与论证的问题,通常存在于诸如分布式文件系统,级存系统和數据库等大型分布式存储系统中。什么是分布式一致性?分布式一致性分为哪些类型?分布式系统达到一致性后将会是一个什么样的状态?如果失去了一致性约束,分布式系统是否还可以依赖?如果一味地追求一致性,对系统的整体架构和性能又有多大影响?这一系列的问题,似乎都没有一个严格意义上准确的定义和答案。
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
第一版块:分布式架构
- 从集中式到分布式
- 从ACID到CAP/BASE
第二版块:一致性协议
- 2PC与3PC
- Paxos算法
第三版块:Paxos的工程实践
- Chubby
- Hypertable
第四版块:ZooKeeper与Paxos
- 初识ZooKeeper
- ZooKeeper的ZAB协议
第五版块:使用ZooKeeper
- 部客与运行
- 客户端脚本
- Java客户端API使用
- 开源客户端
第六版块:ZooKeeper的典型应用场景
- 典型应用场景及实现注
- ZooKeeper在大型分布式系统中的应用
- ZooKeeper在阿里巴巴的实践与应用
第七版块:ZooKeeper技术内幕
- 系统模型
- 序列化与协议
- 客户端
- 会话
- 服务器启动
- Leader选举
- 各服务器角色介绍
- 请求处理
- 数据与存储
第八版块:ZooKeeper运维
- 配置详解
- 四字命令
- JMX
- 监控
- 构建一个高可用的集群
- 日常运维
总内容截图:
四、分布式数据库架构企业实践基于Mycat中间件
本文档总计8章,首先简单介绍了分布式系统和分布式数据库的需求,然后讲解了分布式数据库的实现原理,并对市场上存在的各种分布式数据库中间件进行了对比,再围绕着如何利用Mycat实现分布式数据库而展开。对Mycat从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剂析Mycat的SQL路由、跨库联合查询、分布式事务及原生MySQL. PostgreSQL 协议等核心技术。通过本书不可以了解Mycat的基本概念,掌握Mycat配置等技术,还能感受到Mycat的架构设计之美,了解Mycat。
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
- 数据库中间件与分布式数据库的实现
- Mycat入门
- Mycat进阶
- Mycat高级技术实战
- Mycat企业运维
- Mycat架构剖析
- Mycat核心技术分析
- Mycat多数据库支持原理与实现