架构师是做什么的,到底什么是架构师( 二 )


负责设计的程序员通常也就是所谓的研发级程序员 , 主要解决系统级问题 , 比如平台的研发、接口(API)的设计等工作 , 通常针对的是行业级问题 。而负责实现的程序员通常是所谓的应用级程序员 , 通过接口来完成平台功能的调用从而实现具体的业务逻辑 , 工作的重点在于具体功能的实现 , 往往针对于具体的应用场景 。技术领域的架构师也通常分为两个大类 , 一类是平台架构师 , 另一类是应用架构师 。
平台架构师制定的是平台的研发策略和技术指标 , 通常要结合功能定位和行业定位来进行具体的设计 。平台架构师通常是研发级程序员成长起来的 , 同时具备一定的行业前瞻性 。比如James Gosling(Java创始人)和Linus Benedict Torvalds(Linux创始人)就是典型的平台架构师 。通常所说的软件架构师大部分指的是应用架构师 , 针对于具体的应用场景给出软件产品的设计方案、技术选型和接口设计等 , 通常应用架构师需要对各种平台产品有较为清晰的了解 , 并能够紧跟技术发展趋势来不断优化设计方案 。
另外 , 应用架构师需要具备一定的行业背景 , 对于方案的技术瓶颈有丰富的解决方案 。应用架构师通常是应用级程序员成长起来的 , 往往具有多年的行业开发经验 。我从事互联网行业多年 , 目前也在带计算机专业的研究生 , 主要的研究方向集中在大数据和人工智能领域 , 我会陆续写一些关于互联网技术方面的文章 , 感兴趣的朋友可以关注我 , 相信一定会有所收获 。
架构师在做一个网站的架构时要做哪些工作(按顺序排列)?

架构师是做什么的,到底什么是架构师


我是一个假的架构师 , 真的程序员 。现在所在的项目 , 是去年八九月份启动的 , 虽然不是一个网站 , 但是大部分工作都是类似的 , 那么我给大家介绍一下这半年我做了哪些工作 。一般新建一个项目有两种背景:一种是没有系统 , 需要重新建立;一种是有老系统 , 但是因为种种原因 , 需要新建一个系统把老系统替换掉(或替换部分功能);我们算是后者 , 老系统已经运行多年 , 主要工作是对外提供接口服务 , 现在服务的效率和抗压性都无法满足业务需求 。
需求梳理需求 , 在开发之前一定要明确需求 。因为是对老系统的改造 , 所以需求相对来说比较明确 。梳理老系统有多少接口 , 压力比较大的接口有哪些 , 确定接口迁移的优先级 。确定第一批迁移的接口之后 , 需要对接口的处理逻辑进行梳理 , 包括出参入参都是什么 , 对参数有哪些校验 , 出参的是从什么表的什么字段取得 , 查询条件是什么 , 是否对数据进行了加工、转移等处理 。
主要是通过“扒代码”的手段 , 这一步很痛苦(程序员们都懂的) 。压力预估因为是老改新 , 压力容易预估出来 , 我们主要关注的几个点:现有系统的数据量有多少 , 年增长的数据量是多少 。多少系统在调用 , 大概服务器的数量是多少 。平均每天的调用量 , 如果业务几种在某些时间段内 , 比如工作时间 , 那么就要估计出每小时的量大概是多少 。

推荐阅读