对系统架构设计的思考

2024-03-24 02:48

本文主要是介绍对系统架构设计的思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,分层分级,设计需要具有柔性。
    分层就是说对系统进行多层次的切分,在常见的B/S架构设计中,我们常常分成:web接入层,逻辑处理层

,数据层(可能又分成cache层和Db/file层)。上层的只能调用下层的服务而不能进行跨层调用,比如web接入层只能调用逻辑处理层,而不能直接调用数据层。上层保护下层,而下层通过接口为上层提供服务但永远不相信上层并且验证上层的输入。

   有时候,我们对各个层可能还需要根据实际情况进行分级,比如逻辑处理层,可能再分成逻辑处理层

level1,level2.level3等。

   各个层的设计需要具有柔性和大气(freeman语)。我的理解,柔性包括了几个方面:
1,可以快速植入新的逻辑而系统架构不需要过多的调整和重构,实现“既来之,则安之”;
2,可以根据需要快速而低成本的卸装不需要的逻辑和模块。

 

二,抓住主要模块并重点处理和实现好核心模块。
   系统设计首先离不开系统分析,在分析中,我们首先对模块进行拆分,按优先级分成p0,p1,p2等,并且我们需要花精力重点处理和实现好核心模块,那什么是核心模块呢?就是说系统离开了这个模块根本跑不起来,根本玩不转。


三,让web接入层轻装上阵。
  web接入层的运转需要web server的支持,或者说web进程是在web 容器中运转的,因此,web接入层的性能跟web 容器密切相关,在设计中,我们常常把更多的业务逻辑放到接入层来实现,在快速的实现和没有性能压力的情况下看似没问题,

这篇关于对系统架构设计的思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/840260

相关文章

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

基于Spring Boot的企业级应用架构设计

基于Spring Boot的企业级应用架构设计 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我想和大家分享一下基于Spring Boot的企业级应用架构设计,希望对大家有所帮助。 一、Spring Boot概述 Spring Boot是由Pivotal团队提供的全新框架,它简化了Spring应用程序的创建和开发过程。

爬虫阶段思考

内容:写这篇文章是因为最近帮同学改了很多的爬虫代码,感触良多。 我用豆瓣为例,并不是不会用别的,而是这个我个人感觉最经典。然后还会写我遇到的一些问题以及解决方法。 首先,我们得先知道怎样爬取。我用的scrapy框架爬取。 我对此图的理解就是: 从spiders中获得一个请求(REQUEST),通过引擎传递给调度器,之后再返回给引擎,引擎把url封装好后传递给下载器,下载器将资源下载好后

ADD属性驱动架构设计(一)

目录 一、架构设计过程 1.1、架构设计过程 1.1.1、设计目的 1.1.2、质量属性(非功能需求) 1.1.3、核心功能(功能需求) 1.1.4、架构关注 1.1.5、约束条件 1.2、基于设计过程 二、什么是ADD? 三、为什么选择ADD? 四、作用 五、ADD实现步骤 5.1、架构设计目标 5.1.1、系统类型确定  5.1.2、系统阶段确定 5.2、建

关于微信没有接入鸿蒙NEXT的思考

6月21日,纯血鸿蒙发布,国内的质疑声终于停止,不再被人喊叫换皮 Android 了.就连编程语言都是华为自研的。 可是发布会后微信却成了热点,因为余承东在感谢了一圈互联网企业,如:淘宝、支付宝、美团、京东、抖音、今日头条、钉钉、小红书、微博、B站、高德、WPS等等. 唯独没有感谢腾讯. 中国互联网巨头只有哪么几家,腾讯、阿里、字节、拼多多、美团、百度、京东、华为 他们这些派系又诞生了无数

【架构设计】模块化-面向接口编程

模块化的优势 结构清晰:业务独立,代码实现分离便于协作:耦合度低,不会影响团队其他成员的开发进度便于维护:各模块管理自身代码、布局、资源,不影响主工程 模块化的特点 高内聚,低耦合 常见的模块化方法 所有模块都放在一个工程里实现每个模块都放在一个独立工程中实现 模块的划分 从高到低 业务层平台能力层基础层 模块间的通信 直接依赖事件或广播通信路由通信面向接口通信 具体实现

基于RAG的知识库AI代理机器人,问题思考

基于RAG的知识库AI代理机器人,问题思考 知识库内容分类 对于普通非qa问答格式的知识内容 在分段存储时,需要手动调整,保证每个分段的内容意思完整,不被分割,当然段落也不宜过长,保证内容表达的意思到不可分割为止就行 对于qa问答格式的知识内容 通常需要对问题增加格外索引,因为fastgpt的模式是将问题和回答,作为完整的文本作为向量化的坐标,当问题和回答的内容过长时,使用问题向量化匹配

一、企业级架构设计-archimate基础概念

目录 一、标准 二、实现工具 1、Archimate 1、Archimate 基本概念 1、通用元模型 2、结构关系 3、依赖关系 1、服务关系 2、访问关系 3、影响关系 1、影响方式 2、概念 3、关系线 4、案例 4、关联关系 4、动态、节点和其他关系 1、时间或因果关系 2、信息流 3、子类集成父类 Realization和 Specializa

高可用电商支付架构设计方案

高可用电商支付架构设计 在现代电商业务中,支付过程是其中至关重要的一环,一个高可用、安全稳定的支付架构不仅可以提高整个系统的可靠性和扩展性,降低维护成本,还可以优化用户体验,增加用户黏性。 本文将提出一种高可用的电商支付架构设计方案,并全程记录落地方法。 高可用电商支付架构设计一、前言1、电商支付一般流程2、本项目业务背景 二、订单服务1、数据库设计2、如何确保订单的幂等性3、未支

【区块链】区块链架构设计:从原理到实践

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 区块链架构设计:从原理到实践引言一、区块链基础概念1.1 区块链定义1.2 核心特性 二、区块链架构层次2.1 数据层2.2 网络层2.3 共识层2.4 合约层2.5 应用层 三、关键技术组件3.1