如何成长为一名架构师

如何成长为一名架构师

本文将从多个方面讲述如何成为一名优秀的架构师,以及一个架构师应该具备什么样的技术要和职业素养。我在这里整理了个脑图,方便系统性的查阅。

一、职责

在工作中,需要清楚的自己定位,明确自己工作范围和边界,才能更有效的开展工作。一般不限于以下几点:

  1. 确认需求。当有新的需求新增时,需要能对需求进行拆解,抽象,形成初步的概要设计。

  2. 系统分解。针对复杂的需求,能理清思路,冷静分析,将大需求拆解成小需求,明确每个小需求的边界范围。

  3. 技术选型。针对技术选型需要从多个方面进行考量,比如系统复杂度,技术实现成本,不要觉得选择最潮流,最新的技术,来体现自己的牛掰。最好的技术实现是要结合公司的技术栈,运维能力,运营能力,硬件能力等。

  4. 制定技术规格说明书。针对系统架构的实现,如果涉及到复杂的技术组件,需要编写详细的使用手册。另外,需要培养团队技术栈,对开发、系统设计有明确的规范要求,可以按照设计模式,代码风格,做详细的说明。

二、综合能力

1、沟通能力

作为一名架构师首先需要具备一个良好的沟通能力,团队工作和管理的协调能力,良好的沟通往往能起到事半功倍的效果。沟通中可以参考以下几点:

  1. 就事论事,对事不对人。切莫情绪化。
  2. 放低姿态,真诚交流。
  3. 非暴力沟通,不评论对方的观点和行为。
  4. 学会倾听。

2、技术能力

优秀的技术能力是架构师必备的基础,大的方向讲归根结底是对技术的沉淀和思考,小的方面讲,熟悉编程语言基础,设计模式,分布式原理,组件原理等,并能合理运用在实际的项目中。时刻保持对技术的敏感性。

3、架构能力

一个架构师最重要的能力就是架构能力,这也是架构师区别于普通程序员的价值所在,从需求分析,系统立项,系统开发,测试,上线,运维,方方面面都会考验到架构规划,架构设计,架构升级这些能力。

4、抽象分析。

一个完全陌生的领域,散落的需求,怎么把业务需求转换成技术需求,抽象分析能力是架构的基础。系统应用设计需要思考领域模型的抽象,设计模式的应用,需求扩展性的实现。

5、决策能力

一个需求往往有多种技术实现方案,哪种更优,更合适。这时就需要结合需求本身,各类资源,上线计划等,做出技术选型和技术决策。系统中如果有很多需求,需要对需求排优先级,控制节奏,把控全局。

三、架构优化和升级

1、思路和目标

多思考怎么提升平台响应,吞吐量,高性能,高可用,高扩展,降低耦合。

2、原则

  1. 在应用系统的设计、开发中,应该始终把性能放在考虑的范围内。

  2. 确定清晰明确的性能目标是关键

  3. 性能调优是伴随整个项目周期的,最好进行设定分段目标开展,在达到预期性能目标之后即可对本阶段工作进行总结、复盘。

  4. 必须保证调优后的系统稳定运行\

  5. 性能更大程度是取决于良好的设计,调优是个技术手段。

  6. 优化是循序渐进的过程。

  7. 性能调优不能牺牲代码的可读性和维护性为代价,必须保证良好的设计。

3、手段

  1. 通过升级硬件,可以从cpu数量,固态硬盘,内存大小,DB存储等去考量。

  2. 缓存化,针对吞吐量大的,数据库又存在瓶颈的,我们可以适当使用缓存,减少磁盘IO,降低延时。

  3. 异步化

    很多同步交互的功能是否可以换成异步,一方面不阻塞用户行为,一方面也能给系统减负。比如:通过消息队列实现异步化处理,接口同步响应受理,异步通知终态。

  4. 数据库优化层面

    优化原则

  • 优先考虑缓存降低对数据库的依赖。

  • 再考虑读写分离,降低数据库写操作。

  • 最后开始数据库拆分

  • 首先按照业务进行垂直拆分,再考虑水平拆分。

数据库的垂直、水平拆分。当横向的通过增加应用节点都不能提升系统处理能力,往往就是数据库扛不住,这时候不得不设计到分库分表。分库分表的难点在于:1、分片键的选举。2、业务需求跨表跨库的查询(反范式设计、数据聚合SLAP)


作者:陈综光
链接:https://juejin.cn/post/7002986462195122207
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值