抽象系统及系统间交互

1.找出合理通用的领域/业务对象

2.职责单一的子系统

3.系统间通过消息,或者RPC进行调用

4.单向调用,禁止循环调用(启动,升级系统会有麻烦)

5.对业务进行抽象,而不是当前的产品需求(业务确定,接口和流程基本确定)

架构设计技术选型

1.架构看起来简单清晰,看起来就复杂,很可能是设计有问题(简单原则)

2.使用同事熟悉的技术,逐步迭代成理想的技术选型

3.设计的时候多考虑,实现的时候逐步迭代

4.使用成熟的技术

5.非核心购买

为演化进行设计

1.提前考虑数据的准确性及后期的数据分析统计需求

2.按照项目的目标,数据规模,性能,增长量提前测试,规划好系统

3.考虑性能,水平延展性,高可用,高并发,海量数据可能性

4.分离不变的和经常变化的部分

5.可配置化

6.开闭原则,接口隔离原则

7.避免过早优化,过度设计

考虑异常

1.回滚设计

2.故障隔离原则

3. 核心服务梳理,高可用,可降级

4.为异常进行设计和架构

5.业务监控

6.异常监控

7.接口自我保护,限流,熔断

系统架构的基本设计原则相关推荐

  1. 系统架构设计的原则和模式

    1 分层架构 分层架构是最常见的架构,也被称为n层架构.多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师.开发者和软件设计者所熟知. 分层架构中的层次和 ...

  2. 强烈推荐|我做系统架构的一些原则

    本文已授权自骨灰级技术专家陈皓 原文:https://coolshell.cn/articles/21672.html 读完受益匪浅,强烈推荐给大家,都是非常宝贵的经验,希望大家也有收获! 工作 20 ...

  3. 左耳朵耗子:我做系统架构的一些原则

    作者:左耳朵耗子 原文地址:https://coolshell.cn/articles/21672.html 工作 20 多年了,这 20 来年看到了很多公司的很多的系统架构,也看到了很多问题,在跟这 ...

  4. 系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]

    一.上章回顾 在上篇中我们讲解了几类UML2.0语言新推出的建模图形,总体来说通过这些图形能更详细的将某类信息表达出来.在这里我们简单回顾上篇讲解的内容. 上图中已经简单介绍了上章讲述的内容,具体内容 ...

  5. 掌握4C原则,设计高效的系统架构

    hi,我是熵减,见字如面. 在软件开发中,设计一个好的架构是非常重要的,好架构能够影响整个系统的质量和可维护性. 而要设计出好架构,就需要遵循一些设计原则. 其中,架构设计的4C原则是一种常用的架构设 ...

  6. 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

    我们工作中一直强调要做架构设计.系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计.前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享 ...

  7. 系统架构设计模块拆分维度和原则

    在我们从零开始做一个新系统的时候,会首先进行系统功能模块架构设计,那么是直接做一个大而全的垂直的MVC系统,使用一个war包进行发布管理,还是需要按一些规则进行模块拆分,设计成SOA或者微服务系统比较 ...

  8. 系统架构设计师如何进行架构设计

    9.1 软件架构概述 9.1.1 软件架构的定义 定义1:软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构有软件元素.元素的外部可见属性及他们之间的关系组成. 定义2:软件架构为软件系统 ...

  9. 【软考系统架构设计师】2009年下系统架构师综合知识历年真题

    [软考系统架构设计师]2009年下系统架构师综合知识历年真题 2009年下系统架构师综合知识历年真题 [软考系统架构设计师]2009年下系统架构师综合知识历年真题 [2009下架构真题第01题:绿色] ...

最新文章

  1. 设置USB无线网卡为监听模式大学霸IT达人
  2. 每日一皮:叫你们别上泰坦尼克,嗓子都喊哑了!没一个听我的,最后还把我......
  3. C++中对Mysql的操作函数可以参考以下blog中的内容
  4. 通过 SSH 连接到 VMware NAT 模式下的 Ubuntu 虚拟机环境
  5. springboot(2.2.4)全局异常处理(RestControllerAdvice,ExceptionHandler)
  6. Android开发之IPC进程间通信-AIDL介绍及实例解析
  7. django mysql数据同步_[django同步数据库]Django去操作已经存在数据的数据库
  8. python3 多线程 threading.local 代理_threading.local的作用?Python每日3题(多线程专题)...
  9. 2020 各大厂分享ppt
  10. 计划任务中使用NT AUTHORITY\SYSTEM用户和普通管理员用户有什么差别
  11. 微型计算机原理及应用论文,微型计算机原理及应用7030112997-TP19300101.pdf
  12. 机器学习专业名词中英文对照
  13. 测试通达信指标胜率的软件,如何利用通达信程序交易评测系统选高胜率小回辙高收益股票...
  14. java yyyymmddhhmm前一天,c日期格式化 yyyymmdd
  15. java 贝叶斯抠图_毕业论文(设计)基于贝叶斯算法的自动抠图程序设计与实现.doc...
  16. Petalinux EMMC启动
  17. RTSP RTMP HLS HTTP全功能流媒体播放器SkeyeExPlayer开发计划
  18. 万字综述智能驾驶车载激光雷达关键技术与应用算法
  19. 到底什么是云原生(Cloud Native)?什么是CNCF(Cloud Native Computing Foundation)
  20. games101 1-2

热门文章

  1. 中国信通院:2017年Q3共享单车行业发展指数报告(附下载)
  2. Windows无法安装,选中的磁盘为GPT分区形式 --解决办法
  3. NandFlash驱动移植基础知识
  4. 紧凑型游戏机械键盘——极度未知HyperX起源60水轴游戏机械键盘
  5. 全球最受欢迎电商平台有哪些?这些平台怎么快速增加销量?
  6. 解读京东“拉黑门”:被拐弯的真相
  7. 外媒曝:暴雪《炉石传说》或登陆安卓和WP平台
  8. Android 手机上利用adb shell模拟手机相关操作
  9. 2022届测开秋招面经全记录
  10. android+判断小米手机,android 判断手机为小米