软件工程学习(七)

      学习《软件工程》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 最终结果一致)

可用性

            故障后恢复方法

数据库介绍

关系型

非关系型

 

内存

数据库选择

 

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值