美文网首页
2019-02-27

2019-02-27

作者: 板栗南瓜 | 来源:发表于2019-02-27 12:25 被阅读0次

定义

系统架构师,是在信息系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。 他们(与系统分析师)共同确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工作

这是维基百科上对系统架构师的定义,比较清晰的表达了架构师职责范围;根据此定义并结合自身感受,将其概括为:制定问题/需求的合理解决方案,并保证其顺利落地。此处关键是如何评判解决方案是否合理,自己理解可从以下三点进行核对:

  • 具备清晰的核心设计概念,并贯穿方案始终
  • 方案必须是可度量的、实现的、可测试的
  • 符合普适的架构原则

    《架构即未来》15个架构原则
    (1)N+1设计。永远不少于两个,通常为三个
    (2)回滚设计。确保系统可以回滚到以前发布过的任何版本
    (3)禁用设计。能够关闭任何发布的功能
    (4)监控设计。在设计阶段就必须要考虑监控
    (5)设计多活数据中心。
    (6)使用成熟技术。只用确实好用的技术
    (7)异步设计。只有在绝对必要的时候才进行同步调用(这条自己存疑)
    (8)无状态系统。只有当业务确实需要的时候,才使用状态
    (9)水平扩展非垂直扩展
    (10)设计至少要有两个步骤的前瞻性。在扩展性问题发生前考虑好下一步的行动计划
    (11)非核心则购买。如果不是你最擅长的,也提供不了差异化的竞争优势则直接购买
    (12)使用商品化硬件。
    (13)小构建,小发布,快试错。全部研发要小构建、不断迭代,让系统不断地成长
    (14)隔离故障。实现故障隔离设计,通过断路保护避免故障传播和交叉影响
    (15)自动化。设计和构建自动化的过程

要求

具备哪些能力可胜任架构师这个职位,目前自己理解主要有四点,以后有新体会了再调整

  1. 问题/需求分析推演能力。找到问题本源,进行合理的假设推演确定最优逻辑方案。
  2. 良好技术视野并具备一定技术前瞻性,良好技术整合能力。立足实际通过整合成熟技术输出最优架构方案
  3. 熟练的编码技巧和细节把控。具备良好的编程习惯,丰富的业务经验是保障方案实现质量重要一环
  4. 良好的问题排查、性能调优能力。作为技术牵头人需有能力解决实施过程中遇到的技术难题

技术栈(慢慢更新)

image.png

相关文章

网友评论

      本文标题:2019-02-27

      本文链接:https://www.haomeiwen.com/subject/gpkxuqtx.html