ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

架构师之路 — 软件架构 — Overview

2022-02-05 13:07:55  阅读:315  来源: 互联网

标签:架构 运维 Overview 软件架构 组件 架构师 数据


目录

文章目录

什么是软件架构?

软件架构是一个系统的草图,其核心价值应该只围绕一个核心命题:控制复杂性,化繁为简。

软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由组件的描述、组件的相互作用、指导组件集成的模式以及这些模式的约束组成。软件架构不仅显示了软件需求和软件结构之间的对应关系,而且指定了整个软件系统的组织和拓扑结构,提供了一些设计决策的基本原理。

  • 在设计阶段:软件架构描述的对象是直接构成系统的抽象组件,以及各个组件之间的通信连接方式。
  • 在实现阶段:软件架构描述的对象是更加实际的组件模块,比如具体某个类或者对象,在面向对象领域中,组件之间的连接通常用接口来表示。

软件架构分类

在这里插入图片描述

业务架构

由业务架构师负责,也可以称为业务领域专家、行业专家。

业务架构属于顶层设计,其对业务的定义和划分会影响组织结构和技术架构。例如,阿里巴巴在没有中台部门之前,每个业务部门的技术架构都是烟囱式的,淘宝、天猫、飞猪、1688 等各有一套体系结构。而后,成立了共享平台事业部,打通了账号、商品、订单等体系,让商业基础实施的复用成为可能。

应用架构

由应用架构师负责,他需要根据业务场景的需要,设计应用的层次结构,制定应用规范、定义接口和数据交互协议等。并尽量将应用的复杂度控制在一个可以接受的水平,从而在快速的支撑业务发展的同时,在保证系统的可用性和可维护性的同时,确保应用满足非功能属性要求(性能、安全、稳定性等)。

分布式系统架构

分布式系统基本是稍具规模业务的必选项。它需要解决服务器负载,分布式服务的注册和发现,消息系统,缓存系统,分布式数据库等问题,同时架构师要在 CAP(Consistency,Availability,Partition tolerance)之间进行权衡。

数据架构

对于规模大一些的公司,数据治理是一个很重要的课题。如何对数据收集、数据处理提供统一的服务和标准,是数据架构需要关注的问题。其目的就是统一数据定义规范,标准化数据表达,形成有效易维护的数据资产,搭建统一的大数据处理平台,形成数据使用闭环。

物理架构

物理架构关注软件元件是如何放到硬件上的,包括机房搭建、网络拓扑结构,网络分流器、代理服务器、Web 服务器、应用服务器、报表服务器、整合服务器、存储服务器和主机等。

运维架构

负责运维系统的规划、选型、部署上线,建立规范化的运维体系。

标签:架构,运维,Overview,软件架构,组件,架构师,数据
来源: https://blog.csdn.net/Jmilk/article/details/122789613

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有