• 2 主要设计思路


    为满足性能、扩展性、业务快速交付等方面的要求,新.net core云开发框架改造的主要思想是:高内聚、低耦合,即进一步实现纵向和横向分层,提高可伸缩性和可扩展性,实现弹性部署:

    • 采用领域驱动设计进行架构横向分层,同时业务功能纵向分割
    • 在代码和数据库设计上充分考虑云架构要素,提高可伸缩性、可扩展性、高性能性和安全性
    • 采用诸如分布式缓存、分布式存储、并行数据库、消息队列、ESB等多种可伸缩技术实现松耦合

    采用上述设计思路后的新架构搭建的综合业务管理系统如下图。其中HL、HB等是外部系统,通过ESB与综合业务管理系统交互。

    一、高内聚、低耦合

    就是系统的模块内各个元素彼此结合的紧密程度高,但是模块间尽可能独立存在,这是软件质量的标准和设计的终极目标之一。高内聚、低耦合的系统更容易扩展,更容易复用,也是云计算平台分布式、可扩展部署的必要条件。

    首先,在纵向架构上遵循分层的B/S架构标准,将整个系统划分为表现层、业务逻辑层、数据访问层。我采用领域驱动设计方式,在三层基础上又进行了细分,分为五层,分别为数据持久层、基础设施层、业务领域层、应用层和展示层,其核心是业务领域层,所有业务逻辑应该在领域层实现。

    其次,在横向上进行业务分割,就是将系统功能分割成一个个业务模块。根据业务需求的独立性将门户管理、即席查询、指标报表、后台任务、工作流表单等业务模块进行分割,并分别部署到不同的计算资源中,模块间通过MQ或者SOA接口相互调用,从而提高系统的并发能力和扩展能力。

    *个人认为这是软件项目的最终质量目标,所以重点提一下

    二、领域驱动设计架构

    领域驱动设计架构分为五层,分别为数据持久层、基础设施层、业务领域层、应用层和展示层。

    其核心是业务领域层,所有业务逻辑应该在领域层实现。

    三、数据库设计

    目前数据库通常使用几种方式进行优化:

    • 分库分表
      • 按照业务将大数据库拆分成更小的数据库
      • 特殊情况下某些访问量大、数据量大的数据表按照一定逻辑拆分到不同数据库服务器中(某些云已提供分布式数据库,不需要程序实现)
    • 读写分离
      • 一个可写的数据库,其他只读数据库是可写数据库的同步镜像
      • 形成当前操作数据和历史数据两个部分

    四、分布式技术

    分布式技术的应用可以促进系统的可伸缩性,更利于云端部署

    • 静态资源网站
    • 云存储
    • 分布式缓存
    • 分布式消息队列、ESB等交互工具
    • 分布式数据库

    *静态资源网站更像是一个方式,而不是分布式技术。

    面向云的.net core开发框架目录

  • 相关阅读:
    OnSize() 与 OnInitDialog()[设置控件大小]
    C库函数中字符串处理函数集合
    智能提示导致Visual Studio 2010崩溃问题
    MFC中关闭窗口的几种方法
    8086寄存器组
    MASM6.1使用方法(适合初学者)
    MultiThread
    汇编语言超浓缩教程
    汇编 ADD与DAA指令
    Function Pointer
  • 原文地址:https://www.cnblogs.com/BenDan2002/p/5996430.html
Copyright © 2020-2023  润新知