应用层:主要负责具体的业务逻辑处理
服务层:提供可复用的服务
数据层:负责数据的存储和访问
分层注意事项:①必须合理规划层次边界和接口;②禁止跨层次的调用及逆向调用 。
纵向分解是将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,有助于软件开发和维护,还便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力 。
3) 技术选型
在系统分解后,架构师会最终形成软件整体架构,接下来,架构师的职责是技术选型 。
前端到底用瘦客户端还是富客户端呢?数据库是用MySQL还是MSSQL又或是Oracle呢?技术选型是非常重要的环节,因为需要了解每种技术的优缺点,如果没有足够经验和深厚的技术功底,技术选型很茫然 。
架构师在技术选型阶段会提供参考信息给项目经理,项目经理再从预算、进度、人力、资源等各方面情况来权衡,最终确认 。
4) 制定开发规范
架构师在项目开发过程中是「灵魂人物」,并且要具备协调组织能力和懂得人员分工 。
在制定技术规格说明阶段,架构师要协调起所有的开发人员,架构师通常会用技术规格说明书与开发人员保持沟通,让开发人员能从各个视角去观测、理解他们负责的模块或者子系统,确保开发人员能够按照架构意图实现各项功能 。
3、必备技能关注点:
1)、方向规划:
有想法和技术展望目标,制定短期目标
2)、架构设计:
集思广益来设计,归类总结,根据讨论结果制定规范 。设计不仅仅是技术相关(业务流程,业务方向,模块划分组合,框架设计,流程纰漏等),设计出来还是需要实施的 。
3)、技术攻关:
【阿里p8架构师谈:到底什么是架构师】疑难技术点攻关,将问题集中化解决,提供平台化解决方案以及选型决策 。
4)、解决疑难问题:
定期做总结归纳以此分析问题,解决问题 。
发现各类型问题(不仅仅是技术),通过规范,演讲,绘图等方式解决隐患 。
5)、互动沟通:
架构通过团队的沟通总结出方向, 部门之间沟通,开发之间沟通,产品之间沟通,市场沟通,沟通后产出图形化文档及设计 。
6)、开发规范:
确保系统秩序,统一,规范,稳定,高效地运行 。
架构师无论多牛B,但一定要记住架构是要靠团队做出来的:
•架构师:架构通过团队的沟通总结出方向
•RD:研发人员经常提出自己碰到的问题,并分享给大家,思维碰撞促进发展
•PM:产品经常提出设想和规划,能够使得架构符合未来发展需求
•OP:运维经常提出隐患及分析,能使得架构快速拆分模块
•架构师:定期做总结归纳以此分析问题,解决问题
•团队:团队成长、就是每个人的成长、每个人成长眼界自然增长
•团队:团队的成功、就是产品的成功,产品的成功就是公司的成功
公司的成功可以给你加光环,但光环不代表自己的能力代表经历
三、架构师分类其实架构师就是个title,每个公司称呼都可能不一样,和架构概念一样 。
软件架构师:
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划 。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员,比如这些架构师的title可能是JAVA架构师、Python架构师、LAPM架构师等等 。
web架构师:
web架构师是网站系统、功能、模块、流程的设计师,架构师,好比是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来
架构师也要看在什么样的公司,中小公司很多架构师都是全能的 。通常公司规模和体系越大,分工会越细:大体可以这么分类:
解决方案架构师:与客户探讨业务需求,将业务、市场,与技术、产品结合起来,为客户提供解决他们需求的方案 。比如阿里云针对大客户都有解决方案架构师 。
系统架构师: 也称应用架构师 。最终确认和评估系统需求,并将业务转换为技术,为研发人员制订核心框架与技术规范 为研发工作澄清技术细节并扫清技术障碍。服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用
推荐阅读
- 架构师必备的20个英文缩写,看你知道几个?
- 微信、陌陌等著名IM软件设计架构详解
- 新洲白茶 阿里山茶携手亮相台湾茶叶市场
- 微信、陌陌IM软件设计架构详解
- Centos 7 设置使用阿里云镜像做 yum 源
- 零信任网络架构设计
- 龙岩着力塑造大陆阿里山品牌
- 阿里巴巴开店和淘宝开店有什么区别 在淘宝开店和在天猫开店要求是一样的
- 从架构设计到架构师
- 架构设计常用到的10种设计模式,你都知道吗?