热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

成长之路_架构师成长之路纯干货系列:什么是架构和架构分类(程序员突破内卷大法)说人话接地气

篇首语:本文由编程笔记#小编为大家整理,主要介绍了架构师成长之路-纯干货系列:什么是架构和架构分类(程序员突破内卷大法)说人话接地气相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了架构师成长之路-纯干货系列:什么是架构和架构分类(程序员突破内卷大法)说人话接地气相关的知识,希望对你有一定的参考价值。



在上一篇文章中,概要讲述了架构师在实际工作中到底要做些什么,以及要匹配具备什么样的能力。

接下来,我们逐步展开来讲述,从零开始,逐步培养架构设计思维、讲解架构设计技术、掌握架构设计方法、循序渐进进行架构设计实战训练,从根本上提升能力,早日成长成为真正的架构师。

先来聊聊两个基本的概念:什么是架构,以及架构的分类。

一:什么是架构

 

关于架构的定义,业界有太多不同的说法,但大同小异,本质趋同,只不过侧重各有不同,这里选取IEEE(电气和电子工程师协会)的定义:

架构描述了一个系统的基本组织结构,包含了组成系统的组件、组件之间的关系、组件与环境之间的关系,以及指导上述内容进行设计和演化的原则。

1:系统

       组织起来完成一系列功能的组件集

2:组件

       组件是一个系统模块化的一部分,是一系列功能集的封装体

3:环境

       环境或上下文,指的是会对这个系统的开发、运行等造成影响的环境和设置,比如:政策法规、软硬件环境等,是一些软件系统之外的因素。

二:对架构的基本认识



  • 架构定义了系统结构,尤其是高层结构


  • 架构定义了行为

          这里的行为主要是一些交互行为,比如:组件之间的交互,组件和环境之间的交互等



  • 架构关注系统的主要元素

              主要元素,比如从用户角度来看,用户关注的一些重点、难点功能;或者是有特色亮点的功能。

              另外就是一些解决重要特性的元素,比如:影响高性能、高可用的一些因素。

              这样的一些元素是做架构设计特别关注的主要元素。



  • 架构要平衡系统利益相关者的需要

              利益相关者:指的是对这个系统感兴趣,或者是与这个系统有关系的人、团队或组织。

              通常来说,不同的利益相关者,他的关注点是不一样的,有些关注点是冲突的,甚至是矛盾的,架构师就需要平衡这些关注点。



  • 架构基于合理的证据使决策具体化

              架构设计不是拍脑门,是基于一些合理的证据的,比如:同类产品的参考,以前设计的经验,或者是一些设计Demo的实际测试,证明这样设计是可行的。



  • 架构会受到环境的影响

              比如,架构会受到法律法规的要求、行业标准的约束等



  • 架构会影响开发团队的结构

              比如,现在的架构决定采用微服务的架构,那么开发团队,就需要按照匹配微服务的方式来建设和组织

三:架构分类



  • 没有统一的标准

       有按实现层次划分的、有按关注方向划分的、有按软工阶段划分的、有按视图类型划分的、有按技术实现风格划分的……等等。

       就是从不同的角度、不同的侧重点,对架构设计这件事进行划分,当然有很多是交叉重叠的。

 



  • 按实现层次划分

              移动架构

              前端架构

              系统架构(应用架构,技术架构)

              平台架构

              应用集成架构

              数据库架构

              存储架构

              网络架构

              ……



  • 按关注方向划分

              业务架构

              应用架构

              技术架构

              开发架构

              数据库架构

              存储架构

              安全架构

              部署架构

              开放架构(OpenAPI架构)

              ……



  • 按软工阶段划分

              解决方案架构

              业务架构

              系统架构

              概念架构

              细化架构

              平台架构

              开发架构

              部署架构

              运维架构

               ……



  • 按视图类型划分

              逻辑架构

              数据架构

              开发架构

              运行架构

              物理架构

              ……



  • 按技术实现风格划分

              分布式架构

              微服务架构

              分层架构

              事件驱动架构

              微内核架构

              SOA架构

              响应式架构

              ……

 

              这些都是一些基本的概念,作为一个架构师,还是要有一个清晰的认知的。从零开始,逐步培养架构设计思维嘛!

              列位看官莫急,更多精彩内容,随后会一一呈上!



推荐阅读
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 修复一个 Bug 竟耗时两天?真的有那么复杂吗?
    修复一个 Bug 竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的 Bug 为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
  • 作者|褚杏娟本文是“2022InfoQ年度技术盘点与展望”系列文章之一,由InfoQ编辑部制作呈现,重点聚焦云原生领域在2022年的重要进展、动态,希望能帮助 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ... [详细]
  • 近年来,BPM(业务流程管理)系统在国内市场逐渐普及,多家厂商在这一领域崭露头角。本文将对当前主要的BPM厂商进行概述,并分析其各自的优势。目前,市场上较为成熟的BPM产品主要分为两类:一类是综合型厂商,如IBM和SAP,这些企业在整体解决方案方面具有明显优势;另一类则是专注于BPM领域的专业厂商,它们在特定行业或应用场景中表现出色。通过对比分析,本文旨在为企业选择合适的BPM系统提供参考。 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • 本专栏专注于分享大型互联网公司如BAT的面试技巧和知识,将持续更新,涵盖Android浏览器开发的核心技术和面试热点。内容包括组件化实现的详细解析及其与插件化的区别,帮助读者全面提升技术实力,轻松获得大厂Offer。 ... [详细]
  • java程序员_Java开发知识点!写给13年Java程序员的几点建议
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java开发知识点!写给1-3年Java程序员的几点建议相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java开发框架!Alibaba高并发业务秒杀系统落地实战文档,砥砺前行!
    接口概述:接口是Java语言中的一种引用类型,是方法的集合,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK ... [详细]
author-avatar
Karson2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有