分布式系统的5个优点

  1. 资源共享
  2. 开放性
  3. 并发性
  4. 可伸缩性
  5. 容错性

分布式计算中必须考虑的设计问题

  1. 透明性:隐藏底层分布

  2. 开放性

  3. 可伸缩性

    • 三个维度

      • 规模:又分为增强扩展(单挑)增加扩展(群殴)
      • 分布
      • 可靠性
  4. 信息安全性
    主要防止以下类型的攻击

    • 拦截
    • 中断
    • 更改
    • 伪造
  5. 失效管理

云计算的三种服务

  1. 基础设施即服务IaaS、
  2. 平台即服务PaaS、
  3. 软件即服务SaaS

云计算的一个主要优点

大大降低了提供冗余系统构件的成本

分布式计算系统中计算机可能会发生两种基本类型的交互

  1. 过程式交互
  2. 基本消息交互

可伸缩性(重点)

系统的可伸缩性反映了系统能在外部需求增加的情况下提供高质量的服务的能力。
可伸缩性的三个维度是规模、分布和可管理性

规模。

系统应该增加更多的系统资源来应对越来越多的用户。理想情况下,随着用户数量的增加,系统应该自动增加规模来处理用户数量的增加。
所谓的规模,有增强扩展( scaling up,纵向扩展,单挑)和增加扩展( scaling out,横向扩展,群殴)的区别。

  • 增强扩展意味着用更强大的资源替换系统中的资源。例如,你或许会把服务器的内存由16GB增加到64GB。
  • 增加扩展是指向系统增加更多的资源(例如,增加一个额外的服务器与现存的服务器一起工作)。增加扩展通常要比增强扩展更有成本效益,但是这意味着系统要设计得能并行处理才行。

中间件

  1. 交互支持
  2. 提供公共服务

分布式系统的体系结构模式

  1. 主从体系结构
  2. 两层客户-服务器体系结构
  3. 多层客户-服务器体系结构
  4. 分布式构件体系结构
  5. 对等体系结构

主从体系结构

两层客户-服务器体系结构

多层客户-服务器体系结构

分布式构件体系结构

对等体系结构

Sass和Soa的区别

  1. SaaS是在远程服务器上提供功能而客户端通过Web浏览器访问的一种方法。服务器在交互会话期间维持用户的数据和状态。事务常常是长事务(例如,编辑文件)。
  2. SOA是把软件系统构建为一系列单独的无状态服务的方法。这些服务或许由多个提供商提供并且可能是分布的。典型地,事务是短事务,其中服务被调用,做-一些处理,接着返回结果。
  3. SaaS是向用户交付应用功能的方法,而SOA是应用系统的一种实现技术
  4. 使用SOA实现的系统不一定要作为Web服务被用户访问

实现SaaS的时候必须考虑以下3个重点要素

  1. 可配置性。
  2. 多租户。
  3. 可伸缩性

当在SaaS的环境下考虑可伸缩型时,我们采用的是“增加扩展”而不是“增强扩展,尽量用群殴不要用单挑

可伸缩性软件的一般准则如下

  1. 所开发的应用要使得每一个构件都实现为简单的无状态服务,每一个服务都可以运行在一个服务器上
  2. 使用异步交互来设计系统,这样引用程序就不需要等待交互结果
  3. 管理资源
  4. 设计你的数据库以允许细粒度的加锁
  5. 使用云Paas平台

软件工程---17.分布式软件工程相关推荐

  1. 17秋 软件工程 第六次作业 Beta冲刺 总结博客

    题目:团队作业--Beta冲刺 17秋 软件工程 第六次作业 Beta冲刺 总结博客 Beta冲刺过程中各个成员的贡献百分比 世强:15.5% 陈翔:14.5% 树民:12.0% 媛媛:14.0% 港 ...

  2. 17秋 软件工程 团队第五次作业 Alpha

    题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha 12次Scrum 第一次Scrum 第二次Scrum 第三次Scrum 第四次Scrum 第五次Scrum 第六次Scr ...

  3. 17秋 软件工程 团队第五次作业 Alpha Scrum3

    17秋 软件工程 团队第五次作业 Alpha Scrum3 今日完成的任务 杰麟:java后端学习: 世强:Android的部门基础信息模块的信息显示和对接后台: 港晨:后台管理登陆界面ui设计: 树 ...

  4. 17秋 软件工程 团队第五次作业 Alpha Scrum2

    17秋 软件工程 团队第五次作业 Alpha Scrum2 今日完成的任务 杰麟:Java后端的学习: 世强:登录和注册接口编写: 港晨:完成数据库表的设计: 树民.陈翔:完成超级管理员后端框架. 其 ...

  5. 17秋 软件工程 团队第五次作业 Alpha Scrum9

    17秋 软件工程 团队第五次作业 Alpha Scrum9 今日完成的任务 世强:APP后端部门申请状态: 港晨:主页面代码实现: 树民:完善超级管理员web后端: 伟航:设置页面和侧边栏的原型: 陈 ...

  6. 17秋 软件工程 团队第三次作业 预则立他山之石

    题目:团队作业-预则立&&他山之石 团队: 我说嘻(xì)哈(hà)你说侠 17秋 软件工程 团队第三次作业 预则立&他山之石 1.确立团队选题,建立和初步熟悉团队git的协作 ...

  7. 17秋 软件工程 团队作业 同学录

    题目:团队作业--随堂小测(同学录) 17秋 软件工程 团队作业 同学录 Github Classmate-book 提交日志截图 在现场带了两台笔记本,用两个人的账号进行commit: PR: 程序 ...

  8. 计算机职业生涯教育主题班会,计算机与信息工程学院17级软件工程专业开展大学生职业生涯规划主题班会...

    3月26日-3月27日,计算机与信息工程学院17级软件工程专业开展大学生职业生涯规划主题班会,引导同学们在自我认知和专业认知的基础之上,深入探索自身的个性特征.发现现有与潜在的资源优势.发掘自己的职业 ...

  9. 17秋 软件工程 Alpha 事后诸葛亮会议

    题目: 团队作业--Alpha冲刺 17秋 软件工程 Alpha 事后诸葛亮会议 关于评价与建议的反馈 评价1:管理部门我觉得对我已经用处不大了不过对新生用处很大.像学长说的一样,里面不是流程很懂但是 ...

最新文章

  1. 电脑温度检测软件哪个好_一般电脑录音软件哪个好?
  2. jQuery-基本选择器的种类
  3. 谈谈产品开发团队的配置管理规则
  4. 异构服务器 微服务_Spring Cloud Alibaba Sidecar 多语言微服务异构
  5. 阿里巴巴开源语音识别声学建模技术
  6. php trait编译实现,为什么PHP Trait不能实现接口?
  7. 微服务-封装-docker by daysn大雄
  8. 《吴恩达深度学习》学习笔记011_深度卷积网络:实例探究(Deep convolutional models: case studies)
  9. ssc335调试isp记录之色彩篇
  10. 性能调优之JMH必知必会1:什么是JMH
  11. 青春无悔―追忆10年前的那场校园民谣
  12. kubernets(k8s) 京东最新容器应用报告
  13. python在mac上打不来_我可以打开jupyter笔记本,但无法在Mac上运行带有python脚本的笔记本...
  14. excel切片器_数据可视化小助手EXCEL切片器
  15. 初学JavaScript:BOM(浏览器对象模型)介绍
  16. Prometheus告警功能——对接邮箱
  17. 服务器网口修改为百兆,服务器千兆网口能否设置为百兆
  18. 《硅谷之谜》读书笔记:追求卓越,改变自己
  19. mysql空间不足_磁盘空间不足的临时解决方案
  20. 虚拟服务器 双机热备,云服务器 双机热备

热门文章

  1. BZOJ1191: [HNOI2006]超级英雄Hero(二分图匹配)
  2. 【RabbitMQ】2、心得总结,资料汇总
  3. Python中Dict的查找
  4. 《Java技术》第二次作业计科1501赵健宇
  5. centos7.2下编译安装git
  6. poj 3678 Katu Puzzle(2-sat)
  7. Tornado/Python 学习笔记(一)
  8. jquery下 选择器整理
  9. 为移动端网页构造快速响应按钮
  10. vi @-function