什么是架构,什么是架构师?

article/2025/9/22 20:07:39

什么是架构,什么是架构师?这似乎是聊架构话题时永恒的问题。

从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。

那么,该如何回答“什么是架构,什么是架构师”这个问题呢?这或许需要先搞清楚另外一个问题——一名程序员是如何走上架构师之路的?我从许多朋友那里了解到了很多实际案例,程序员走上架构师之路,总结起来最多的原因是因为他早前代码写的好。

那么,代码写的好就是架构吗?显然不是。代码写的好只是表象,做所有事情都需要规划,尤其是一个复杂的软件系统,这更需要规划,否则可能连一行代码都写不出。复杂的软件系统一定会需要做很多抽象设计、对象规划、接口规划等准备动作。也就是“上一辈程序员”口中所说的:详细设计。做架构主要的事情也依旧如此,需要对整个系统进行系统的规划:模块、通讯、边界、扩展、技术下沉等工作。这样的规划完成之后项目方能正常跑起来。

当然,架构也不仅仅是规划,还要做的另一件大事就是技术识别。识别出系统中技术的难易区域,并分解复杂技术,使之成为一个个技术的黑盒子,在此之上再进行新的技术规划,使整个系统从技术角度来看是分层次的,从难到易,从大到小,但各层之间又是互相的黑盒。这也常说的让系统模块间达到“鸡犬相闻老死不相往来“的状态。

系统技术的识别完成之后还要对另一种技术进行识别,即人的技术。什么样的工程师适合写哪一层的代码,那一层的技术对程序员技术的深入程度要求到哪个点上。在做完这些事情整个架构表面上看是平稳进行了。

但实际上,架构的问题一定会再次前来打扰:首先是测试工程师来询问“对于整体系统架构而言这个应用该如何更好的被测试?”“我们需要用什么样的技术来更好地保证软件的质量?”然后是运维工程师来询问“该系统将跑在什么样的环境之上?”“我们应该提供什么样的服务器?”“服务器上我们会做哪些配置和安装哪些基础软件?”“我们需要提供一个什么样的网络环境?”“有什么样特殊的网络配置?”“我们需要做哪些安全策略?”……此时,架构师不时会像是一个掉入冰洞的猎人无比无助,头顶成群的苍蝇飞着,这些问题,有的懂点,有的不专业,还有的听说过没干过,有些仅限知道原理。其实这些辣手的事情是考验架构师的一种能力:技术的宽度。

一个架构师需要足够的技术的宽度。从软件到硬件,从开发到测试,从运维到安全等都需要面面俱到的了解。当然你可能不是这单方面领域里面最深入的人,但是你需要知道它们是怎么做的(不仅仅是皮毛,要深入原理),并且要知道它们组合起来是个什么样的东西。技术面也足够宽了之后,是不是就会成为完美架构师呢?

答案是不会,因为还有新的问题要过来。这次的问题诸如“系统在未来的运行过程中运维需要做什么?”“系统在未来的功能迭代中如何更方便的扩展?”“系统应该怎么修改?”“系统应该被怎么样升级?”这时的你是不时很困惑?是不是感觉这个架构的世界好长啊,怎么像保姆一样什么都要管。但仔细想想这是应该的,因为一个系统初次开发并交付只是它生命周期中的一小部分而已。后面的维护、改造、升级才占了整个软件生命周期的绝大部分时间。你是它的架构设计者,是它灵魂之所在,你当然应该设计好它的未来。这也是架构师做好的最后一件事情:系统未来的设计。

仔细想想,上文提到的这些案例全是架构的糗事,但糗事其实是架构师成长路上的必经之路。因为一个没有经历失败的架构师一定不是个好的架构师。只有经历各种苦难,越过各种坑和各种痛苦之后才能成为一个优秀的架构师。架构师也是一个很独特职业,不像现代教育里已经很成熟的人文和物理教育体系,勤奋的人大都能经过系统的阅读和教育能走向成功。架构更像一种艺术、一门哲学,架构师们也仿佛经过多年积累后忽然间就像打通了任督二脉。


http://chatgpt.dhexx.cn/article/ufaNseb9.shtml

相关文章

Java架构师成长路线总结2021版(持续更新)

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。 又是新的一年,每一年都会有人在成为架构师…

WebLogic之WebLogic安装

WebLogic除了包括WebLogic Server服务器之外,还包括一些围绕WebLogic的产品,习惯上我们说的WebLogic是指WebLogic Server。WebLogic是美国bea公司出品的一个application server确切的说是一个基于Javaee架构的中间件,BEA WebLogic是用于开发、…

WebLogic:部署应用程序

假设我们现在有两个应用程序的war包: 将这两个war包部署到WebLogic上,通过控制台部署。 点击上载文件,可以将war包上传到管理服务器上, 两个war包的访问方式: benefits.war: http://ip:port/benefits benefits_as_d…

Weblogic漏洞 - Weblogic 弱口令漏洞

文章目录 Weblogic简介Weblogic特征Weblogic历史漏洞Weblogic历史漏洞发现获取资产批量扫描脚本 Weblogic漏洞环境搭建漏洞发现Weblogic历史漏洞利用WeakPasswordWeblogic弱口令使用弱口令直接登录后台管理界面选择部署上传war包制作war包上传war包GetShell成功连接大马 Weblog…

Weblogic 常见漏洞汇总

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大…

weblogic——服务器搭建与配置

本次操作的内容:weblogic服务器搭建与配置服务 本次操作是主要围绕如何搭建weblogic服务器及配置服务,总共有两大步骤,可划分为六个小步骤: 选取已有环境,准备weblogic压缩包安装weblogic创建Weblogic域 (domain)启动…

Weblogic部署

Weblogic部署 JDK安装1.1、创建用户和组1.2、创建ORACLE_HOME2、创建weblogic_install_dir目录,并将安装包复制到目录下3、创建wls.rsp和oraInst.loc文件4、开始安装5、设置环境变量6、创建Domain域名7、启动weblogic8.1、验证8.2、验证参考链接 二、weblogic集群部…

WebLogic:访问管理控制台

1,通过http://localhost:7001/console可以访问控制台,图形化界面。 访问这个控制台,必须先启动管理服务器。 进入到创建的域的目录F:\java\WebLogic\user_projects\domains\base_domain\bin 双击就可以启动管理服务器。 加载之后&#xff…

Weblogic SSRF漏洞

1.漏洞描述 weblogic中存在SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 2.影响版本 weblogic 10.0.2 – 10.3.6版本 3.POC http://192.168.42.145:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch…

weblogic日志管理

服务器日志 每个 WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。默认情况下,服务器日志文件位于服务器实例根目录下的 logs 目录中; 例如D:\Oracle\Middleware\user_projects\domains\snails_domain\serve…

weblogic(10.3.6)

前言 作者简介:不知名白帽,网络安全学习者。 博客主页:https://blog.csdn.net/m0_63127854?typeblog 漏洞复现专栏:https://blog.csdn.net/m0_63127854/category_11843863.html 网络安全交流社区:https://bbs.csdn.ne…

【weblogic】weblogic服务启动方法

【转载】:https://wenku.baidu.com/view/71a2b93658f5f61fb636663c.html 一.启动服务器方式: 1.前台启动: cd /weblogic/user_projects/domains/aixadmmin/bin //进入”bin”目录 ./startWebLogic.sh 启动管理服务器 用户名:weblogic 密码:12345678 ./startM…

weblogic从入门到起飞!(weblogic安装、domain配置、管理控制台)(一)

目录 weblogic术语 weblogic安装 下载weblogic linux安装(centos6.5,其他版本类似) 配置weblogic的domain domain介绍 配置domain domain的目录结构: weblogic启动domain 管理控制台相关(和congfig.xml息息相…

weblogic(一).简介与安装

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大…

weblogic 安装部署详解

0x01 weblogic下载安装 去Oracle官网下载Weblogic 10.3.6,选择Generic版本,各版本选择下载地址:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html Weblogic 10.3.6 下载地址:http://download.oracle.c…

weblogic简单介绍

快速阅读 介绍weblogic中间件,以及自身架构和几个基本概念,如何下载,安装等后面再详细介绍 。 什么是weblogic WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公司,最终BEA公司又并入Oracle公司 webserver是用来构…

Weblogic入门

Weblogic介绍 WebLogic是美国Oracle公司出品的一个application server,是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性…

WebLogic的使用总结(一)

WebLogic的使用总结(一) 下载WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据自己的情况选择),本文档下载的是Generic WebLogic Server and Coherence installer http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 如下图: 下载…

Weblogic介绍

文章目录 介绍组件和术语Domain(域)服务器 Administration Server(管理服务器)Managed Server(被管理的服务器)Machines(机器)Weblogic Server Clusters 集群 体系结构全貌客户层协议…

Weblogic详解

一、简介 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安…