架构设计

 1、系统总体架构设计

            1、产品功能简介

            2、面临的技术挑战

            3、技术选型及依据

            4、架构设计方案

 

需要整理从业五年来的开发历程,时常感觉自己学习杂乱,架构的知识梳理点经常有问题 , 也经常看架构设计的文档,有些讲得是思想, 有些针对的是领域,划分的基本大概领域,具体架构细节却没有深入。

需说架构怎么说呢,  类似城市的建造师, 规范大概的方向, 往往需要根据城市的情况,比如该城市是旅游或煤矿、金融城市, 也需要区分城类型(大中型城市), 参照别人城市的类似经验,确定需要打造什么样的未来城市,  这些是基本的总体目标,接下来按不同职能划分,   商业区、住宅区、政府办公区、上班工作区、休闲区, 这些区域的占比。 同时也要根据划分的区域规划公交线路(相当于数据走向), 公交大小、频率、公交数量,  划分地下水道, 划分电信线路, 划分自来水区域、划分网络。   这些也需要根据优先级重要性角度重新进行划分。 

          接下来的就是区域的建设, 进行设计的进一步区分, 拿政府办公区来讲,有市政府、监督局、法院部门等,  每个部门有很多职能部门, 根据 需要考虑服务的对象,服务对象数量, 判断办公能提供的输出对象、办公需要有什么先提条件,比如要临近地铁,临近人流量, 对周围环境有什么要求,考虑周围的配置设施。 这些是外围要考虑的内容, 同时要对办公大楼内部进行设计,一二楼常用服务大众,要划分哪些区域, 三四楼会议及领导办公。   而一二楼确定办公数量,因为不同部门的空间基本一样,可以使用过程中部门可以做动态调整, 这就对我们设计这些大楼根据设计对象对楼层及办公大小进行设计

         以上的区域规划是从无到有的设计,中间的设计过程难免有冗余、不合理、 不确定的过程中, 就像《代码大全》里的书籍所介绍的是,设计是险恶问题、设计限制过程、设计是取舍和调整过程,设计是自然而然学习过程。

          自己也在设计过程中慢慢整理一些想法,没有形成系统, 更多的是对自己开发过程中不断思考与别人讨论过程逐渐形成的要求

               1、先说整体规划部分, 首先自己会划分大概层次,比如 视图层、   处理层、   数据层 、 底层支撑层,  每个层次再进行划分一些小的层次, 划分层次之间的数据交互过程,

      层次的建立与划分需要从不同的角度去思考,比如从宇宙视角去查看, 从各方相关利益的角度、从用户角度、从时间线去思考 

 

比如以下的:

                   

      

   2、在划分层次后, 需要考虑层次之间的通讯方式是什么, 是用http restful,   通知方式是用什么方式进行通知, 如何保证消息不丢失与传达,根据自身所处行业的类型,参考对应行业大佬一般常用做法,比如在监控领域里,可以参考《中国铁塔动环监控系统 统一互联B接口技术规范》里采用WSDL通讯方式, 这方面需要不断的经验与学习。

会对层次的交互过程中, 在高可用、高性能、高扩展性,低成本、安全、规模,  比如在高可用性, 需要考虑异常要如何检测、恢复、如何保存信息, 在高性能方面:  进程间交互, 跨设备交互, 用什么类型的数据库,非关系还是关系型,  是否需要缓存、是否需要建视图, 缓存又需要选择市面上什么种类的。  高扩展性方面:   后续需要增加的业务,考虑什么类型的设计模式, 封装变化内容, 避免多处地方修改,实现高内聚,低耦合。  

 

 3、 进行层次内部的分析时, 需要考虑输入与输出接口、内部的配置,进程间以什么方式交互, 有信号、信号量、管道、socket、共享内存、消息队列这些基本机制上,行业在这些基本机制上进行进行更一层次封装, openwrt ubus的通讯机制, 进行借鉴处理

 

 4、 在实现功能后, 如何保障功能是否正常, 如何把功能提供给客户,  就需要有文档、用例测试, 在测试或使用阶段,  一旦使用有问题,就需要有日志的输出与导出进行排查。

           在测试阶段,需要考虑功能使用是否正常,也需要考虑到性能、异常处理的测试

5、 在实现上功能时,要考虑主备选方案,多想想可以有哪些方案可以实现

 

 

 

 

 

        

 参考:

架构文档:   https://time.geekbang.org/column/article/13419

lRUP 4+1视图架构设计:   https://www.ibm.com/developerworks/cn/rational/06/r-wenyu/index.html

万字长文剖析架构设计全攻略: https://mp.weixin.qq.com/s/VehwUaIEhvmsUeWDrGbo3A

 

                

 

posted @ 2018-12-23 16:53  cogitoergosum  阅读(164)  评论(0编辑  收藏  举报