自20世纪40年代计算机诞生以来,计算机以及互联网呈现出高速发展的趋势。当今的互联网包含以下特征。
- 互联网理财用户规模持续扩大。越来越多的网民选择在网上购买理财产品。
- 网络零售交易再创新高。2019年“6·18”购物节期间,仅京东一家下单金额就达2015亿元。
- 移动支付使用率保持增长。无论是网上购物,还是实体购物,大多数用户选择微信或者支付宝等移动支付软件。
- 短视频应用异军突起。大多数网民都曾使用过短视频应用(比如快手、抖音等),以满足碎片化的娱乐需求。
- 直播引领新的营销模式。直播造就了大量的网络主播,而这些主播通过直播的方式开启了新的网络营销模式。
- 在线政务应用大力发展。支付宝、微信等均提供了城市服务平台以对接政务服务。
- 企业开始转型生产智造。工业互联网提供了完整的软硬件物联网解决策略,帮助企业从“制造”转型到“智造”。
计算机以及互联网已经深刻影响了人们的生活和工作的方方面面。而这一切都离不开背后那个神秘的“巨人”——分布式系统。正是那些看不见的分布式系统,每天处理着数以亿计的计算,提供可靠而稳定的服务。
那么什么是分布式系统?
《分布式系统原理与范型》一书中是这样定义分布式系统的:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统”。这里面包含了两个含义。
- 硬件独立。
- 软件统一。
什么是硬件独立?所谓硬件独立,是指计算机本身是独立的。一个大型的分布式系统,会由若干台独立的计算机来组成系统的基础设施。
而软件统一,一方面是指对于用户来说,用户就像是与单个系统打交道。这就好比用户每天上网看视频,视频网站对用户来说就是一个系统软件,它们背后是如何运作的,部署了几台服务器,每台服务器是干什么的,这些对用户来说是不可见的。用户不关心背后的这些服务器,用户所关心的是,今天访问的这个网站能提供什么样的节目,视频运行是否流畅、清晰度如何等。另一方面是指分布式系统的扩展和升级都比较容易。分布式系统中的某些节点发生故障,不会影响整体系统的可用性。用户和应用程序交互时,不会察觉哪些部分正在被替换或者维修,也不会感知到新加入的部分。
分布式系统有哪些特征呢?
分布式系统特征主要体现在以下6个方面。
1.可用性系统的可用性指系统在面对各种异常时可以正确提供服务的能力。系统的可用性可以用系统停止服务的时间与正常服务的时间的比例来衡量,也可以用某功能的失败次数与成功次数的比例来衡量。可用性是分布式系统的重要指标,衡量了系统的鲁棒性,是系统容错能力的体现。 分布式系统利用多副本的模式,来实现系统的高可用。
2.可扩展性系统的可扩展性指分布式系统通过扩展集群机器规模提升系统性能(吞吐、延迟、并发)、存储容量、计算能力的特性。
可扩展性是分布式系统的特有性质。分布式系统的设计初衷就是利用集群多机的能力处理单机无法解决的问题。当任务的需求随着具体业务不断提高时,除了升级系统的性能外,另一个做法就是通过增加机器的方式扩展系统的规模。好的分布式系统总在追求“线性扩展性”,也就是使得系统的某一指标可以随着集群中的机器数量的增多呈线性增长。
3.高并发分布式系统的目的是更好地共享资源。那么系统中的每个资源都必须被设计成在并发环境中是安全的。
4.透明性分布式系统中任何组件的故障,或者服务器的升级、迁移,对于客户端来说都是透明的。
5.开放性分布式系统由不同的程序员来编写不同的组件,组件最终要集成一个系统,那么组件所发布的接口必须遵守一定的规范且能够被互相理解。
6.安全性在当今的互联网环境中,信息安全愈发重要。信息安全也是世界各国共同关注的焦点。为保障信息安全,在分布式系统中网络上传递的所有敏感信息都需要进行加密。
既然大家已经知道了什么是分布式系统和分布式的系统特征了,那么下面就给大家分享一份阿里资深大牛推荐学习的685页分布式系统开发实战文档,希望大家能够喜欢!!
下面给大家展示都包含什么内容,话不多说,直接上图让大家很直观地看见!
总体的目录可以看看
因为这份文档包含的内容实在是太多了 ,不能够很详细地给大家展示出来全部的内容。
所以需要这份685页[分布式系统开发实战]技术文档来学习的小伙伴,可以点击此处来获取就可以了!
希望本文能够帮助到大家的学习,也希望大家能够学以致用, 不断地提升自己的技术深度和广度,早日实现大厂梦!