一提起“分布式系统”,大家第一感觉就是高大上啊,深不可测啊。不少 Java 同学在找工作时也经常会被问懵圈的问题,到底怎么聊“分布式系统架构”?
为了不让大家在“泥潭”里爬太久,我搞到了来自 阿里 大佬的分布式架构资料。
它解决了不少同学目前最关心的几个问题,今天小编先来跟大家聊一聊分布式这三个问题:
1、什么是分布式系统?
1、分布式系统一定是由多个节点组成的系统。
其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。
2、这些连通的节点上部署了我们的节点,并且相互的操作会有协同。
分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已。而实际上这些服务是通过背后的众多服务器组成的一个分布式系统。因此分布式系统看起来像是一个超级计算机一样。
例如淘宝,平时大家都会使用,它本身就是一个分布式系统。我们通过浏览器访问淘宝网站时,这个请求的背后就是一个庞大的分布式系统在为我们提供服务,整个系统中有的负责请求处理,有的负责存储,有的负责计算,最终他们相互协调把最后的结果返回并呈现给用户。
2、分布式事务的实现有哪些方案?
分布式事务的实现主要有以下 5 种方案:
- XA 方案
- TCC 方案
- 本地消息表
- 可靠消息最终一致性方案
- 最大努力通知方案
3、CAP理论
C:数据一致性(consistency)所有节点拥有数据的最新版本
A:可用性(availability)数据具备高可用性
P:分区容错性(partition-tolerance)容忍网络出现分区,分区之间网络不可达。
在CAP理论中,C所表示的一致性是强一致性(每个节点的数据都是最新版本),其实一致性还有其他级别的:
弱一致性:弱一致性是相对于强一致性而言,它不保证总能得到最新的值;
最终一致性(eventual consistency):放宽对时间的要求,在被调完成操作响应后的某个时间点,被调多个节点的数据最终达成一致可用性的值域可以定义成0到100%的连续区间。
所以,CAP理论定义的其实是在容忍网络分区的条件下,“强一致性”和“极致可用性”无法同时达到。
更多分布式问题,大家可以直接看阿里程序员都在学习使用的这本分布式实战练习手册;
写作核心
笔记是基于 Spring Boot + Spring Cloud 构思写作而成;
分布式可以理解为人体器官,人体可看成分布式系统,大脑是注册中心的集群,四肢与器官是提供服务的微服务,前进的距离是微服务运行之后的返回值,消耗的体力是微服务中处理的逻辑,影响的记忆是某些微服务对数据库的增删改查。分布式可看成一种思想,而Spring Cloud 与 Spring Boot是实现了这种思想的工具。
本书以分布式架构结合微服务实例的方式,介绍 SpringBoot+Spring Cloud的基础知识、架构顺序和操作方法。
由于平台篇幅有限,下面内容就以截图方式展示给大家,如果有朋友需要系统的学习下这本413页的分布式实战练习手册,可以转发+关注后添加助手vx:bjmsb10即可获取PDF版
目录
1~5章,可基本搭建Consul集群、多个微服务、微服务间通信、负载均衡、断路器的分布式基本结构;
6~11章主要介绍如何编写微服务业务代码,包括Spring Boot、MySQL、Redis、缓存一致性、事务、异步线程池、分布式消息通信、分布式任务调度管理及Fas tDFS分布式文件管理;
第12章对微服务分布式架构进行了扩展与总结
这份实战练习笔记香不香呢?希望本文可以对各位读者有帮助;好了,今天的分享就先到这里;我们下次见!
获取方式:
如果有朋友需要系统的学习下这本413页的分布式实战练习手册,可以转发+关注后添加助手vx:bjmsb10即可获取PDF版