Refined Architecture阶段———阅读笔记

究竟什么是Refined Architecture?

   一、定义:

   Refined Architecture又名细化架构,它是以分而治之为思想核心的多视图架构设计方法。兼顾多个视图设计之间的一致性,设计系统架构。

  二、实际作用:

     利于思考(因为分而治之的思维方式,可以多方面的思考系统设计)

     便于交流(因为在一定的程度上分离了涉众关注点)

  三、业界现状

    1、误认为多视图就是OO方法分支

    2、误将“视图”当作“阶段”

  四、内容讲解(重点以5视图为例)

    1、职责划分(逻辑视图)

    逻辑架构

      划分子系统的3种必要策略:分层的细化(职责维)、分区的引入(粒度)、机制的提取(通用维)

      接口设计:“分”是手段,“合”是目的,协作决定接口。

      逻辑架构设计的整体思维套路:质疑驱动逻辑架构的设计,结构设计与行为设计相分离。

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

    内容:将”逻辑职责“映射为”程序单元”、开发技术选型、“程序单元”间关系

    3、控制流组织(运行视图)

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

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

    增强硬件 = 增加计算能力 != 软件的实际服务能力增强

    内容:硬件选择与物理拓扑、软件到硬件的映射关系、方案优化

    5、持久化设计(数据视图)

    数据架构

      六大策略:

        ①独立 Schema (Separate-schema ) ——通信开销,可管理性强 

          两个不一样的数据集,相互独立互不干扰。

        ②集中(Centralized)———可管理性,数据一致性强

          将不同的几个数据集抽取组合成一个大数据集

        ③分区(Partitioned)——可伸缩性强

          水平分区:

            

 

           垂直分区:

            

 

 

        ④复制(Replicated)  

          将数据集拷贝一份

        ⑤子集(Subset)  

          从数据集中提取一部分数据生成新的数据集

        ⑥重组(Reorganized)

          从数据集中统计或者提取期望的数据重组成新的数据集

 

posted @ 2020-04-10 11:53  余鱼瑜渔  阅读(137)  评论(0编辑  收藏  举报