软件工程学习(七)

      学习《软件工程》12.4、12.7、12.8节

软件体系结构风格

层次结构

层次结构系统被分为若干层次,每一层之间通过接口互相调用和返回。下层构建向上层构建提供服务。

客户机/服务器体系结构

软件工程学习(七) 软件工程学习(七)

两层C/S体系结构(胖客户端结构)

  • 服务器只负责数据的管理
  • 用户机实现应用逻辑和用户的交互

缺点:客户端负担过重,可扩展性不好

分类:

软件工程学习(七)

三层C/S结构

 把应用系统分为:表示层、功能层、数据层,逻辑上相互独立。

软件工程学习(七)

优点

1.降低了客户端的负荷 2.减轻了系统维护和升级的成本和工作量  3.系统的灵活性和功能性变得很强

 缺点:如果各层之间的通信效率很低,即使分配的硬件很强,性能也不好

B/S结构浏览器/服务器结构

是三层C/S结构的一种实现方式。客户端就是浏览器,表示层就是web服务器(处理客户端所需要的展示逻辑),应用层就是应用服务器(负责所有的业务逻辑),数据层就是数据服务器(负责对数据的操作)

软件工程学习(七)

集群结构

功能层或数据层分布在多台服务器上的结构

MVC结构

软件工程学习(七)

为了解决“用户界面的修改——>业务逻辑修改”的问题而提出,此问题的影响因素

软件工程学习(七)

优化前–>

软件工程学习(七)

 优化后–>

 

软件工程学习(七)

Web系统架构设计

分为前端和后端

软件工程学习(七)

合理的资源配置

例,MVC设计的HTTP后端服务器

软件工程学习(七)

resful的后端服务

前后端耦合会给开发带来困难,使用resful后端服务器,使前后端开发更容易配合

软件工程学习(七)

以前后端服务器返回给前端的是相应的网页,但是在resful后端只会返回给前端特定格式的相应。

 通过nignx之类的web服务器托管我们的前端和后端,就可以解决前后端不同端口的问题。

异步任务机制

异步服务一般是以异步任务的形式实现的,可以提供更复杂的服务,并且可以弹性伸缩

软件工程学习(七)

 软件:celery

缓存机制

对于经常访问但不需要经常变化的数据,放在上一层中,使服务响应时间提高

如,内存性数据库Redis

数据库选择策略

什么是数据库

软件工程学习(七)

软件工程学习(七)

数据库简单的性质分类

数据怎么存储

         持久化存储 or 内存数据库(将数据持久化在磁盘上 or 将数据库存储在内存中)

         单机 or 分布式(数据库分布在一台机器上 or 数据库分布在多台服务器)

数据怎么增删改查

          关系查找 or key-value查找(关系查找对应的是多个相同的属性,key-value是文档形式)

软件工程学习(七)

 操作是否安全

            事务(保证了操作序列的完整执行)

            实时一致性 or 最终一致性 (任意时间都是一致的 or 最终结果一致)

可用性

            故障后恢复方法

数据库介绍

关系型

软件工程学习(七)

非关系型

 

软件工程学习(七)

内存

软件工程学习(七)

数据库选择

软件工程学习(七)

软件工程学习(七)

 

软件工程学习(七)

   不能直接拆分,而要进行业务级别的拆分

软件工程学习(七)

来源:m0_51664489

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月1日
下一篇 2022年10月1日

相关推荐