分布式基础知识点

简介: 分布式基础知识点

说到分布式,这是一块比较重要的知识。本章会介绍什么是分布式,分布式的作用,单体和分布式的比较,CAP定理,集群、分布式与微服务的区别。主要以概念理解为主,为后面的学习打下知识基础。


什么是分布式


分步式就是利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作。

物理架构可以理解为多台服务器或者多台电脑,不共享主内存是分布式的特点。既然服务器与服务器是独立的,那么里面的内存也是独立的。

下面举一个老板开店的例子,这个老板一开始建立了一个店,独立经营,这就是一个单体,单体就是我们的项目只运行在一台机器上面,而且所有的代码都写在一个项目里面。对于这种架构而言,老板必须什么都要做。这对应到我们的程序中就意味着这一个服务器他什么都要承担,比如要提供http接口,要防止黑客攻击,还要核对数据库的内容等。如果老板非常勤劳,开了俩个店面,他和老板娘每个人负责一个店面,我们要注意这两个人做的事情都是差不多的,那意味着今天有一个用户找老板娘的店去买东西,其他用户想找老板去买也没有问题。他们并没有分工,依然是相互独立的,这就相当于计算机的集群。把一个程序完整的复制到另外一台服务器,然后这两台服务其同时对外服务。服务器对于请求的处理能力可以大大增强。这个店越开越厉害,老板和老板娘雇佣员工,分工合作,这就是分布式了。这和之前的集群不一样,集群的合作并不是很多的,但到了分布式,每个部分就有各部分的任务了,相互之间分工协作。


分布式的作用


技术的诞生是为了解决问题。分布式并不是是一开始就有的,是从单体逐渐逐渐地演变成集群,复制多份,最后才迭代出分布式的技术。

单体应用的问题:第一个问题就是速度很慢,不只是说启动的速度,包括编译,包括打包,包括部署等,都很慢。同时对于一个拿到项目的新人来讲,他熟悉项目的工作量也变得越来越大。

分布式的好处:开发、部署是速度更快。因为分布式而言各个功能都是独立的,只要负责好自己的这一块就可以了。其次是技术升级的空间大,束缚小。分布式的第三个好处就是可用性增强、成本低、资源利用率高。


分布式与单体结构的对比


410d42ce739e4a44ba8e775e45a67a34.png


CAP定理


在分布式系统中,节点比较多,他们间是要进行通讯的。


61450119e2d74e9288a7b2ce649b9bf5.png


下面举个例子:

客户端给节点1和节点2去发起请求,节点1和节点二就是分布式,节点1和节点二之间并没有箭头,说明他们之间发生了一个网络中断的情况。有可能节点一部署在欧洲,节点二部署在了非洲。这样必然是有一些原因导致节点通信失败的。也就是这个节点分区容错有时是无法避免的。目前还没有一种方式保证网络百分之百准确可用,这是做不到的。


e7e522cb7a7641d4a42b0abf902bb099.png

6cf974f7997c4d2b8e076871fea6b612.png

a5b1c4d931424ce79ae5b7c16d965192.png

6d940ac7954e4e05a468a03f36c64c71.png

ec447c80a64a443fbede54c344cf0961.png


888186b533394220a8f154cc9461aabf.png



919f9da7cf3249a6b97fe08cea9b297c.png

4662f154fb1a431e847fb48bdf108637.png


集群、分布式、微服务的区别






相关文章
|
6月前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
575 2
|
6月前
|
存储 NoSQL Java
常见面试题知识点之:分布式锁
常见面试题知识点之:分布式锁
|
运维 监控 Java
微服务:知识点梳理(SOA、服务拆分、服务治理、分布式事务)
微服务:知识点梳理(SOA、服务拆分、服务治理、分布式事务)
3454 1
微服务:知识点梳理(SOA、服务拆分、服务治理、分布式事务)
|
存储 缓存 NoSQL
常见面试题知识点之:分布式锁
常见面试题知识点之:分布式锁
351 0
常见面试题知识点之:分布式锁
|
Java
一个大厂面试常问的分布式知识点3pc协议详解
在之前的文章中我曾介绍了2pc协议的相关知识,这篇文章开始介绍3pc协议。理论知识往往是枯燥无味的,但是等学完了技术再回过头来重新认识的时候,你会有不一样的收获。这个点是面试常问的点,而且如果你正在对java技术或者是其他的技术进阶学习的话,这个知识点也是应该要掌握的。
146 0
一个大厂面试常问的分布式知识点3pc协议详解
|
关系型数据库 中间件 MySQL
分布式基础理论知识点-2pc协议(面试常问知识点)
分布式事务专题一直是面试的重点,这篇文章主要是讨论一下分布式事务中的2pc协议。如果你之前看过CAP和BASE理论,会对这篇文章的理解有更大的帮助。
381 0
分布式基础理论知识点-2pc协议(面试常问知识点)
|
JSON 负载均衡 监控
2021-Java后端工程师必会知识点-(分布式RPC框架Dubbo)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
247 0
一图展示分布式所有知识点
分享个人总结的分布式知识点
324 0
一图展示分布式所有知识点
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
3月前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
112 2
基于Redis的高可用分布式锁——RedLock

热门文章

最新文章