zoukankan      html  css  js  c++  java
  • 《一线架构师实践指南》第三部分阅读笔记

    CA阶段(概要设计阶段)---大系统必须阶段(重大需求塑造概要架构)---“战略方向”
    之所以需要细化架构,是因为概念架构难以支持并行开发。

      细化架构的方法:RUP 4+1多视图方法(逻辑架构,开发架构,物理架构,数据架构,运行架构(与之对应的要写概要设计文档))

      多视图方法要求“兼顾多个视图设计之间的一致性”。例如:要考虑职责、程序单元、部署节点等要素之间的相互影响。

      多视图方法的实际意义:利于思考(因为分而治之的思维方式);便于交流(因为在一定程度上分离了涉众关注点)

      多视图方法不是OO方法(Object-Oriented Method,面向对象方法,面向对象的方法)分支。无论是OO方法,还是结构化方法,都远未涵盖架构设计的全部。

      逻辑架构和物理架构不是两个阶段,而是同一阶段的要考虑的两个方面,即两个视图。

      

     5视图方法包含视图和其”思维立足点“:

      逻辑视图(职责划分)

      开发视图 (程序单元组织)

      运行视图(控制流阻止)

      物理视图(物理节点安排)

      数据视图(持久化设计)

    用5视图方法梳理架构

    逻辑架构中划分子系统的三种策略

    • 分层的细化

        

    • 分区的引入

        

    • 机制的提取

        

    三种策略综合运用,三管齐下。

    划分子系统的 4个重要原则:

      职责分离原则;

      通用专用分离原则;

      技能分离原则;

      工作量均衡原则。

    物理架构

      3项任务:

        硬件选择与物理拓扑

        软件到硬件的映射关系

        方案的优化

    运行架构

      工作内容:

        确定引入哪些控制流
        确定每条控制流的任务
        处理相关问题:控制流的创建、销毁、通信机制等
        编进一步考虑:控制流之间的同步关系,若有资源争用还要引入加锁机制

      控制流图是关键,在实践中,最常用于实现控制流的手段有3种:

        进程
        线程
        中断服务程序

    开发架构

      工作内容:

        将“逻辑职责”映射为“程序单元”。

        开发技术选型

        “程序单元”间关系

    数据架构

      难点:数据分布

      数据分布的六种策略:

        独立 Schema( Separate-schema)

        集中( Centralized)

        分区( Partitioned)

        复制( Replicated)

        子集( Subset)。

        重组( Reorganized)

      数据分布策略的三条应用原则:

        把握系统特点,确定分布策略(合适原则)

        不同分布策略,可以综合运用(综合原则)

        从“对吗”、“好吗”两方面进行评估优化(优化原则)

  • 相关阅读:
    两种接口传送数据协议(xml和json)
    两种访问接口的方式(get和post)
    myeclipse 编写java代码提示 dead code 原因
    svn文件冲突,树冲突详解
    linux操作提示:“Can't open file for writing”或“operation not permitted”的解决办法
    embed标签属性
    程序员必读的书刊收藏
    python实现冒泡排序和快速排序
    python简单词频统计
    Qt出现堆溢出(Error Code -1073741823)
  • 原文地址:https://www.cnblogs.com/janeszj/p/12661533.html
Copyright © 2011-2022 走看看