架构知识体系总结

简介: 架构知识体系总结@Date 2018.08.30一. 架构是什么?系统:相互协同可运行的实体,是一群关联个体组成, 这些个体可以是子系统/模块/组件等架构:顶层设计,需要明确系统包含哪些个体,明确个体运作和写作的规则框架:面向编程或者配置的半成品组件:技术维度的复用模块:业务维度的职责划分二.

架构知识体系总结

@Date 2018.08.30

一. 架构是什么?

  • 系统:相互协同可运行的实体,是一群关联个体组成, 这些个体可以是子系统/模块/组件等
  • 架构:顶层设计,需要明确系统包含哪些个体,明确个体运作和写作的规则
  • 框架:面向编程或者配置的半成品
  • 组件:技术维度的复用
  • 模块:业务维度的职责划分

二. 架构设计的背景

  • 软件生产力远远跟不上硬件和业务的发展, 软件的扩展非常复杂
  • 系统规模庞大,内部耦合严重,开发效率低
  • 系统耦合严重, 牵一发动全身, 后续修改和扩展困难
  • 系统逻辑复杂, 容易出问题, 出问题后很难排查和修复

三. 架构设计的目的

  • 解决软件系统复杂度
    • 熟悉和理解需求, 识别系统的复杂点, 并针对解决
    • 并不需要面面俱到, 不需要每个架构都具体CAP特性
    • 在一个有约束的条件(团队经验/成本/资源/进度/业务)下去求最合适的解
    • 需求驱动架构
  • 分析
    • 性能
    • 可扩展性
    • 高可用
    • 存储高可靠
    • 安全性/隐私性
    • 成本

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

相关文章
|
前端开发 Java 数据库连接
领域驱动设计:从学习到实践(一)
产品同学将需求分析完和开发同学进行需求评审,评审完毕后开发同学开始基于需求进行设计,一般会落到数据库设计,将库表设计完毕后,再向上进行分层开发。如果是前后端分离的项目,会在前期约定接口,进行基于契约的并行开发。所以,我们称这种方式为数据驱动开发,或基于数据模型的开发。
领域驱动设计:从学习到实践(一)
|
2月前
|
Kubernetes Cloud Native 测试技术
探索软件测试的奥秘:从理论到实践深入理解云原生架构:从基础到实践
【8月更文挑战第28天】在软件开发的世界中,测试不仅是质量的守护者,也是创新的催化剂。本文将带你穿越软件测试的迷宫,从基础概念到高级策略,揭示如何通过测试提升软件质量和用户体验。我们将一起解码测试的核心原则,探索自动化测试的魅力,并学习如何设计有效的测试案例。无论你是测试新手还是资深开发者,这篇文章都将为你提供宝贵的见解和实用的技巧,让你在软件测试的道路上更加从容不迫。 【8月更文挑战第28天】本文旨在为读者揭示云原生技术的核心概念、优势以及如何在实际项目中应用。通过深入浅出的方式,我们将探索云原生的多个方面,包括容器化、微服务架构、持续集成和持续部署(CI/CD)、以及如何利用Kubern
|
2月前
|
消息中间件 监控 API
后端开发之巅:探索微服务架构的奥秘
在数字化浪潮中,微服务架构成为软件开发的宠儿。它以灵活性、可扩展性和独立性著称,让复杂应用的管理变得简单。本文将带你走进微服务的世界,从基础概念到设计原则,再到实际应用案例,一步步揭开微服务架构的神秘面纱。让我们一起思考甘地的话:“你必须成为你希望在世界上看到的改变。”在后端开发领域,这意味着我们需要拥抱变化,用微服务架构创造更好的软件生态。
|
2月前
|
负载均衡 监控 API
深入浅出:微服务架构设计的艺术
在软件开发的广阔天地中,微服务架构如星辰般璀璨,它以小而美的服务单元,构建起复杂应用的宏伟蓝图。本文将带你领略微服务设计的精髓,从理论到实践,一步步揭开其神秘的面纱。你将学习到如何优雅地处理服务拆分、数据一致性和系统容错等关键问题,最终能够运用这些知识,打造出既灵活又稳定的微服务系统。
42 1
|
2月前
|
存储 API 数据库
探索后端开发之道:从基础到架构
在数字化浪潮不断推进的今天,后端开发作为支撑整个互联网应用的根基,扮演着至关重要的角色。本文将通过深入浅出的方式,介绍后端开发的核心概念、关键技术以及构建高效后端系统的实践方法。我们将一起探讨如何从零开始,逐步建立起一个稳定、可扩展的后端服务架构,并分析现代后端开发中面临的挑战与机遇。
122 2
一个简单的框架,快速梳理知识体系
一个简单的框架,快速梳理知识体系
83 0
|
设计模式 供应链 测试技术
架构进阶之路:复杂业务开发与领域驱动设计
以下是在现公司,给成员做分享的资料。业务案例来自:一文教会你如何写复杂业务代码。作者:张建飞,进行了重新整理。
237 0
|
架构师 算法 测试技术
架构设计00-架构师知识体系01-什么是软件架构?
架构设计00-架构师知识体系01-什么是软件架构?
146 0
架构设计00-架构师知识体系01-什么是软件架构?
|
架构师 项目管理
架构设计00-架构师知识体系02-终极问题--为什么要架构设计?
架构设计00-架构师知识体系02-终极问题--为什么要架构设计?
133 0
架构设计00-架构师知识体系02-终极问题--为什么要架构设计?
|
存储 人工智能 缓存
架构设计00-架构师知识体系04-怎么做架构设计
架构设计00-架构师知识体系04-怎么做架构设计
198 0
架构设计00-架构师知识体系04-怎么做架构设计