开发者社区> 无信不立> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

一:集中式向分布式系统过度

简介: 一:集中式向分布式转变---->大型主机(IBM),稳定快速。但扩容性差,价格昂贵。存在单点问题。---->小型微机,pc等服务器成本低,随着技术发展性能提升。---->互联网业务成井喷式快速发展,访问量暴增,计算机系统规模扩大,单一大型主机上运行系统的扩容比较困难。
+关注继续查看

一:集中式向分布式转变
---->大型主机(IBM),稳定快速。但扩容性差,价格昂贵。存在单点问题。
---->小型微机,pc等服务器成本低,随着技术发展性能提升。
---->互联网业务成井喷式快速发展,访问量暴增,计算机系统规模扩大,单一大型主机上运行系统的扩容比较困难。企业放弃原有的大型机,使用小型机和普通pc服务器搭建分布式的计算机系统。


二:集中式系统
---->部署结构简单。
---->大型主机(IBM),稳定快速。但扩容性差,价格昂贵。存在单点问题。


三:分布式系统
---->分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。
---->一个标准的分布式系统在没有任何特定业务逻辑的限制下,都会有如下几个特征
        ●分布性:分布式系统中的多台计算机都会在空间上随意分布,同时,机器的分布情况也会随时变动。       
        ●对等性:分布式系统中的计算机没有主/从之分。即没有控制整个系统的主机,也没有被控制的从机。组成分布式系统的所有计算机节点都是对等的。副本是分布式系统最常见的概念之一,指的是分布式系统对数据和服务提供的一种冗余方式。在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理。数据副本是指在不同的节点上持久化同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题最为有效的手段。另一类副本是服务副本,指多个节点提供同样的服务,每个节点都有能力接受来自外部的请求并进行相应的处理。
        ●并发性:同一个分布式系统中的多个节点,可能会并发地操作一些共享的资源,诸如数据库或分布式存储等,如何准确并高效地协调分布式并发操作也成为了分布式系统架构与设计中最大的挑战之一。
        ●缺乏全局时钟:由于分布式系统是由一系列在空间上随意分布的多个进程组成,具有明显的分布性,这些进程之间通过交换消息来进行相互通信。因此在分布式系统中,很难定义两个事件究竟谁先谁后,原因就是因为分布式系统缺乏一个全局的时钟序列控制。
        ●故障总是会发生:组成分布式系统的所有计算机,都有可能发生任何形式的故障。一个被大量工程实践所检验过的黄金定理是:任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生。并且,在系统实际运行过程中还会遇到很多在设计时未能考虑到的异常故障。所以,除非需求指标允许,在系统设计时不能放过任何异常情况。


四:分布式系统的常见问题
--->通信异常
●网络不可用,网络光纤,路由器,或是DNS等硬件设备,或是系统不可用导致分布式系统无法顺利完成一次网络通信。
●消息丢失或延迟普遍。因为一次网络通信要在服务内部多次节点之间的传输,导致处理速度比单机要慢很多。单机延时,通常在纳秒数量级(通常是10ns).而分布式的一次网络通信的延迟在0.1-1ms左右。相当于内存访问延时的105-106倍

--->网络分区
●当网络由于发生异常情况,导致分布式系统中部分节点的网络延时不断增大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够进行正常通信,而另一些节点则不能---我们将这个现象称之为网络分区,俗称“脑裂”。当网络分区出现时,分布式系统会出现局部小集群,在极端情况下,这些局部小集群会独立完成原本需要整个分布式系统才能完成的功能,包括对数据的事务处理,这就对分布式一致性提出了非常大的挑战。


--->三态
●一次网络通信,在分布式系统中会有三种状态,成功,失败,超时。
●由于节点间通信多的问题,导致消息可能因为超时而丢失,让客户端无法感知本次请求的结果是成功或失败。
●超时分两种情况,第一种:A节点发往B节点的消息,B未接收到超时。第二种:A节点发往B节点,B节点成功接受处理,但A节点未接受到结果超时。

--->节点故障
●节点故障则是分布式环境下另一个常见问题,指的是组成分布式系统的服务器节点出现的宕机或“僵死”现象。通常根据经验来说,每个节点都有可能出现故障,并且每天都在发生。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
分布式系统中唯一主键生成
分布式系统中唯一主键生成
23 0
什么是分布式系统,如何学习分布式系统?
什么是分布式系统,如何学习分布式系统?
70 0
到底什么是分布式系统?
分布式系统背景 说分布式系统必须要说集中式系统,集中式系统中整个项目就是一个独立的应用,整个应用也就是整个项目,所有的东西都在一个应用里面。
43 0
分布式系统监控体系
分布式系统监控体系
83 0
如何解决分布式系统中的“幽灵复现”?
“幽灵复现”的问题本质属于分布式系统的“第三态”问题,即在网络系统里面,对于一个请求都有三种返回结果:成功,失败,超时未知。对于超时未知,服务端对请求命令的处理结果可以是成功或者失败,但必须是两者中之一,不能出现前后不一致情况。
731 0
如何解决分布式系统中的“幽灵复现”?
关于分布式一致性领域经典问题探讨。
993 0
到底什么是分布式系统?
分布式系统背景 说分布式系统必须要说集中式系统,集中式系统中整个项目就是一个独立的应用,整个应用也就是整个项目,所有的东西都在一个应用里面。 如下图所示 image.png 如一个网站就是一个应用,最后是多个增加多台服务器或者多个容器来达到负载均衡的避免单点故障的目的,当然,数据库是可以分开部署的。
1353 0
(转载)分布式任务调度系统
来源:https://my.oschina.net/editorial-story/blog/883856 分布式调度在互联网企业中占据着十分重要的作用,尤其是电子商务领域,由于存在数据量大、高并发的特点,对数据处理的要求较高,既要保证高效性,也要保证准确性和安全性,相对比较耗时的业务逻辑往往会从中剥离开来进行异步处理。
2171 0
+关注
无信不立
人无信不立,业不勤不精
595
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载