架构师都做些什么
转载自:微信公众号:程序员小灰架构师都做些什么?1.架构设计架构师,顾名思义,第一职责就是在软件设计阶段,做好软件“骨架”的设计。架构师需要把产品的需求翻译成软件工程的设计文档,确定各个系统与模块的边界,评估系统的量级。2.技术选型从前端到后端,从缓存到数据库,面对为数众多的第三方组件,架构师需要作出合理的选择。前端页面选择模板引擎还是动静分离?服务端选择Java还是Node.js?服务治理选择D
转载自: 微信公众号:程序员小灰
架构师都做些什么?
1.架构设计
架构师,顾名思义,第一职责就是在软件设计阶段,做好软件“骨架”的设计。架构师需要把产品的需求翻译成软件工程的设计文档,确定各个系统与模块的边界,评估系统的量级。
2.技术选型
从前端到后端,从缓存到数据库,面对为数众多的第三方组件,架构师需要作出合理的选择。
前端页面选择模板引擎还是动静分离?
服务端选择Java还是Node.js?
服务治理选择DubboX还是Spring Cloud?
消息队列选择RocketMQ还是Kafka?
分布式缓存选择Redis Cluster 还是 Codis?
数据库选择Mysql还是Oracle?
全文检索选择Solr还是ES?
技术没有绝对的好坏之分,关键看是否适用于公司的业务场景。
3.管理非功能性需求
满足需求是项目开发和架构设计的根本,而管理非功能性需求则是项目的升华。
在公司从0到1的创业阶段,开发者更关注的是功能性需求,往往一个简单粗暴的MVC项目就可以搞定一切。当业务量级逐渐增大,用户需求逐渐多样化,非功能性需求的重要性就逐渐显现。
非功能性需求都包含哪些内容呢?
性能(响应时间)
可扩展性(适应需求的快速变化)
可用性 (四个9,五个9,必要时的限流和降级)
安全性(防范各种恶意攻击,实现风控)
可监控(完善的监控和报警机制)
灵活性(便于非开发人员进行配置)
可维护(持续集成,持续部署)
国际化(冲出国门)
4.攻克技术难题
架构师不只需要关注宏观的设计,也需要具有攻克技术细节的能力。在团队开发过程中遇到难以实现和优化的技术问题时,架构师需要发挥技术优势,解决系统的疑难杂症。
5.技术人员的管理和指导
架构师不只是一个技术大牛,也应该是一个好的管理者,在工作中需要把较大的项目和需求拆分一个个Story,依照每个人的情况分配给研发团队的成员,并且在必要的时候进行技术上的培训指导。
每天努力一点,每天都在进步
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)