软件架构设计

概念

架构设计就是需求分配,即将满足需求的职责分配到组件上。

架构风格

数据流风格:批处理序列、管道-过滤器

调用/返回风格:主程序/子程序、面向对象、层次结构

独立构件风格:进程通信、事件驱动系统

虚拟机风格:解释器、基于规则的系统

仓库风格:数据库系统、超文本系统、黑板系统

基于服务的架构(SOA)

实现方式:Web服务和ESB

特点:松散耦合、粗粒度、标准化接口

Web Service

组成:服务请求者、服务注册中心、服务提供者

ESB

企业服务总线

软件架构评估

质量属性

1、性能:响应时间、吞吐量,优先级队列、资源调度

2、可靠性:MTTF、MTBF,冗余、心跳线

3、可用性:故障间隔时间,冗余、心跳线

4、安全性:追踪审计、信息隐藏

5、可修改性

6、功能性

7、可变性

8、互操作性

风险点:架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。

权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。

评估方式

1.基于调查问卷(检查表)的方式

2.基于度量的方式

3.基于场景的方式(ATAM、SAAM、CBAM)

Web系统架构

缓存

分布式

读写分离/分库

集群/负载均衡

基于特定软件的负载均衡(HTTP重定向)(应用层)

反向代理负载均衡(应用层)

基于DNS的负载均衡(传输层)

基于NAT的负载均衡(传输层)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409G1XQJL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券