微服务架构设计实践系列之六:概念架构阶段

微服务架构设计实践
 


目    次

4.3  概念架构阶段

        在概念架构阶段,针对已经分析出的重大需求、特色需求、高风险需求,必须有针对性地确定解决方案,从而使系统提供的各种功能可以满足用户的需求。

        在概念架构设计过程中,可以采用以下几步:

        1.首先,针对每个关键需求,确定相应的解决方案,规划对应的系统、子系统或功能模块;

        2.其次,对系统、子系统或功能模块进行分层设计。在此,引入分层概念,如:

             逻辑层:重视职责的划分,职责之间通常是上层使用下层的关系,不关心上层和下层是否“能分布”在不同的机器上;

             物理层:指能分布在不同机器上的软件单元,不同物理层之间必须跨机器访问。

             按通用性分层:将通用性不同的部分划分到不同的层,以此作为系统的总体切分方式。

        3.最后,采用“目标-场景-决策”表,质疑非功能需求,验证现有架构是否满足。如果不能满足,则调整架构。

        “目标-场景-决策”表如下图所示:

        

 4.3.1  概念性架构-全行体系视角

        在确定了分行特色业务云平台关键需求以后,为了让开发人员对分行特色业务云平台在全行应用体系中所处的位置和角色有个清晰的了解,建议通过一张图展示分行特色业务云平台在全行应用体系中所处于的位置和所扮演的角色,如下图所示:

         

        1. 分行特色业务云平台总平台-服务融合中心

        发挥总行大前置的作用,对分平台提供公共产品服务能力,并且在此基础上实现全行服务集中管控,隔离调用方与产品方的技术风险。

        2. 分行特色业务云平台分平台-特色业务分平台

        在公共的特色业务开发框架内,使用标准化技术组件、业务组件,进行分行特色业务创新。

4.3.2  概念性架构-平台体系视角

        确定了分行特色业务云平台在全行应用体系中所处于的位置以后,接下来就需要针对影响软件架构的重大需求、特色需求、高风险需求,有针对性地确定解决方案。

        分行特色业务云平台概念性架构图如下所示:

         

        1.分行特色业务云平台-基础开发平台(BCAP)

        基础开发平台(BCAP)是基于Tesla技术平台开发的业务平台,作为分行特色业务云平台的基础开发平台,对总行和分行提供两种能力:技术能力和业务能力。通过这两种能力,实现开发敏捷和业务敏捷。

        公共技术组件提供通用的技术能力,主要包括:

             联机服务框架;

             定时任务调度;

             总分通讯机制;

             公共异常处理;

             批处理框架;

             消息通知;

             服务编排;

             本地缓存;

             全局序列号生成器;

             API网关;

             总分文件交互组件;

        公共业务组件提供常用的业务能力,主要包括:

             应用日终;

             日终对账;

             额度控制;

            频度控制;

             黑白名单;

        2.分行特色业务云平台-服务融合中心(SCC)

        服务融合中心是分行特色业务云平台中的总平台,位于总行,对外以服务的方式提供业务功能;

        3.分行特色业务云平台-特色业务分平台(JCAP)

        特色业务分平台是各分行根据自己的特色业务需求,基于分行特色业务云平台提供的基础开发平台进行开发的特色业务应用。

        4.支撑系统

        控制台:为开发人员提供系统管理、参数配置等功能,为系统管理人员、运维人员提供日志级别调整功能、缓存更新、查看功能、任务调度管理功能、异常任务查询功能等。

        监控中心:收集应用发送过来的数据,然后进行统计、分析,并以图形页面的方式提供给运维人员查看。

        服务管理平台:提供服务注册、发现、订阅、服务开关、服务限流、服务降级、服务权重调整功能。

        特色业务开放平台:为分行开发人员提供工程创建、资源下载、接口测试、开发工具下载等功能。

        5.开发规范

        制定分行特色业务云平台的一系列开发规范,指导开发人员进行软件开发。

        6.过程管理

        通过一系列的过程管理,保证软件的持续交付的质量。

  微信扫一扫,关注该公众号

  该系列文章已经在微信公众号发布,如果感兴趣,请关注。

   以后更多知识通过该微信公众号分享。


猜你喜欢

转载自blog.csdn.net/beyondself_77/article/details/79841921