01 introduction

分布式系统是通过网络连接的计算机组成的系统,它们在没有全局时钟的情况下并发执行,具有组件独立性和故障容错性。这类系统广泛应用于Web搜索、分布式存储、金融交易和区块链等,但同时面临异构性、安全性、可伸缩性和故障处理等挑战。中间件是解决异构性的一种手段,而开放性和安全性是系统设计的重要考量。
摘要由CSDN通过智能技术生成

分布式系统的构建原因

资源共享
        硬件、软件、数据、服务
        流媒体
        计算机通过网络连接

协同计算
        并行计算
        分布式计算

分布式系统的定义、特征

定义
        一个其硬件或软件组件分布在联网的计算机上(空间上的距离不等),组件之间通过传递消息进行通信和动作协调的系统

特征
        组件的并发性
                多个进程、线程并发执行,共享资源
        缺乏全局时钟
                机器有各自的时间,难以精确同步,程序间的协调靠交换消息
        故障独立性
                组件独立出故障,其它组件正常运行
                一些进程出故障,别的进程不一定知道

分布式系统举例

Web搜索
        分布式存储系统
        分布式文件系统:GFS

大型多人在线游戏 — 快速响应,对共享世界的一直视图
        王者

金融交易

区块链系统
        分布式账本

语音系统

数据库系统

分布式系统面临的挑战

异构性
        网络、计算机硬件、OS、编程语言、开发者实现方式均存在异
        使用公共标准
        中间件:软件层,提供编程抽象,屏蔽了底层网络、硬件、OS、编程语言的异构性
        移动代码:能在不同机器间移动并执行 → 虚拟机方法

开放性
        能否以不同的方式被扩展和重新实现
        分布式系统的开放性主要取决于新的资源共享服务能被增加和供多种客户程序使用的程度

安全性
        机密性(防止未经授权访问资源)
        完整性(防止数据被篡改破坏)
        可用性(防止对所提供服务的干扰)
        未解决:拒绝服务攻击、移动代码的安全性

可伸缩性
        资源数量和用户数量激增,系统仍能保持其有效性
        控制物理资源的开销
        控制性能损失
        防止软件资源用尽(IP地址)
        避免性能瓶颈

故障处理
        检测故障
        掩盖故障
        容错
        故障恢复
        冗余(冗余组件,容错)

组件的并发性

透明性
        访问透明性(相同方式访问远程和本地资源)
        位置透明性(不需要知道物理或网络位置就能访问资源)
        并发透明性
        复制透明性
        移动透明性
        性能透明性
        伸缩透明性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值