架构师速成-架构体系

简介: 经过这段时间的反思和整理,终于对架构有了一个较为明确的理解。架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程: 配置、编码、测试、运维、监控分析、安全、运营等一系列技术体系的选型、取舍技术选型基础上进行规划、设计、实现、迭代、制定相关规范相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化 架构不止包含技术的框架,比如有人用

经过这段时间的反思和整理,终于对架构有了一个较为明确的理解。架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程:

  1. 配置、编码、测试、运维、监控分析、安全、运营等一系列技术体系的选型、取舍
  2. 技术选型基础上进行规划、设计、实现、迭代、制定相关规范
  3. 相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化

架构不止包含技术的框架,比如有人用了spring就觉得我已经是架构师了,其实架构并不是这么简单。我们以做一个新浪微博类似产品为例,现实应该是这样的:

  1. 产品初期,经典的LAMP快速开发实现第一个版本,功能也无比简单就是加好友,发消息,开发人员也只有一个小的队伍。此时的架构就体现为纯的技术选型及实现,包含了
    • 配置:代码通过git管理,暂时无其他
    • 编码:技术选型为LAMP,基于LAMP的开发框架封装,并在开发团队内制定开发规范
    • 测试:技术人员手工测试
    • 运维:手工发布,主备2台,mysql也做主备
    • 监控:暂不需要
    • 安全:发帖过滤、屏蔽
    • 运营:后台删帖
  2. 随着用户的暴增以及功能的增加,产品需要迭代,架构也需要迭代。产品功能增强,性能需要优化,开发人员的增加,此时架构就发生了一个较大的变革:
    • 配置:代码通过git管理,要分为多个模块,不同团队开发不同模块
    • 编码:技术选型增加缓存、消息队列、搜索引擎等,框架封装更加复杂,抽象出基础层和服务层。分团队进行代码的维护,制定不同模块之间通信标准。推拉模型也提炼出来。
    • 测试:单元测试+自动化测试
    • 运维:批量自动化发布、回滚、支持灰度发布
    • 监控:增加流量监控,机器监控
    • 安全:发帖过滤、屏蔽,防范其他攻击
    • 运营:后台删帖、大V管理等等
  3. 用户和流量再次增加后,产品再次发生变革,架构也再次变革。
    • 配置:代码通过git管理,服务化,每个服务单独一个模块,不同团队开发不同模块
    • 编码:技术选型需要考虑异地容灾,层次继续抽取,服务粒度细化,增加开放api,改进推送架构。
    • 测试:单元测试+自动化测试
    • 运维:批量自动化发布、回滚、支持灰度发布,异地数据同步
    • 监控:增加流量监控,机器监控,增加缓存等监控
    • 安全:发帖过滤、屏蔽,防范其他攻击,开放api权限管理oauth2,防止恶意调用
    • 运营:后台删帖、大V管理等等

从上面的例子可以看出,架构是跟随产品进行迭代的,而且随着产品的越来越复杂,不可避免的需要不断拆分,多团队合作,运维自动化。架构也变成团队的工作,而不是一个架构师就搞定一切了。

阿里发展到现在架构也有些类似,有很多不同团队负责底层设施(中间件)的开发迭代及其架构的革新。业务也有不同的团队负责开发不同的业务模块,这个都使用统一的架构体系。技术保障部门维护统一的自动化运维工具,安全部门维护安全工具。不同部门都有自己的架构师,负责本部分的架构,不过比较遗憾的是没有一个总架构师的角度去推动总体架构演进及各个部门架构的优化。

目录
相关文章
|
7月前
|
敏捷开发 缓存 架构师
Apache 架构师总结的 30 条架构原则
Apache 架构师总结的 30 条架构原则
83 0
|
4月前
|
存储 架构师 测试技术
架构之道——人人都是架构师
本文的探讨和编写主要围绕三个方面:架构是什么?架构师要解决的问题有哪些?解决这些问题的方法论是什么?最后作者希望人人都能具备架构师思维。
|
7月前
|
机器学习/深度学习 人工智能 架构师
【架构师】AI时代架构师必备技能
【架构师】AI时代架构师必备技能
153 5
|
2月前
|
缓存 NoSQL Java
秒杀圣经:10Wqps秒杀,16大架构绝招,一文帮你秒变架构师 (2)
高并发下的秒杀系统设计是一个复杂的挑战,涉及多个关键技术点。40岁老架构师尼恩在其读者交流群中分享了16个关键架构要点,帮助解决高并发下的秒杀问题,如每秒上万次下单请求的处理、超卖问题的解决等。这些要点包括业务架构设计、流量控制、异步处理、缓存策略、限流熔断、分布式锁、消息队列、数据一致性、存储架构等多个方面。尼恩还提供了详细的实战案例和代码示例,帮助读者全面理解和掌握秒杀系统的架构设计。此外,他还分享了《尼恩Java面试宝典》等资源,帮助读者在面试中脱颖而出。如果你对高并发秒杀系统感兴趣,可以关注尼恩的技术自由圈,获取更多详细资料。
秒杀圣经:10Wqps秒杀,16大架构绝招,一文帮你秒变架构师 (2)
|
2月前
|
缓存 NoSQL Java
秒杀圣经:10Wqps高并发秒杀,16大架构杀招,帮你秒变架构师 (1)
高并发下,如何设计秒杀系统?这是一个高频面试题。40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试Shopee时遇到了这个问题,未能很好地回答,导致面试失败。为此,尼恩进行了系统化、体系化的梳理,帮助大家提升“技术肌肉”,让面试官刮目相看。秒杀系统设计涉及16个架构要点,涵盖业务架构、流量架构、异步架构、分层架构、缓存架构、库存扣减、MQ异步处理、限流、熔断、降级、存储架构等多个方面。掌握这些要点,可以有效应对高并发场景下的秒杀系统设计挑战。
秒杀圣经:10Wqps高并发秒杀,16大架构杀招,帮你秒变架构师 (1)
|
5月前
|
存储 架构师 测试技术
架构之道:人人都是架构师(2)
每个业务系统的开发者都应该具备一定的架构师素养,架构师的重要职责不仅仅是做决策,更重要的是提升团队的整体能力。一个好的架构师应该聚焦于业务和系统,定义问题和结果,设计系统、模块和代码,同时也需要解决跨域问题,确定团队间的边界,制定规范,统一语言,并创建一个让每个人都能成长为架构师的环境,以促进团队的敏捷性。本文旨在探讨如何培养架构思维,并阐述了架构师的职责、能力模型、方法论,以及如何成为架构师。
154 10
|
5月前
|
存储 运维 架构师
架构之道:人人都是架构师(1)
架构之道:人人都是架构师
215 8
|
7月前
|
运维 架构师 安全
架构师养成手册:架构师职责
小米是一名热情的技术爱好者和架构师,他探讨了架构师的角色和职责。主要涉及六个方面:顶层设计,需与企业战略目标对齐,制定架构原则;规划可适应未来变化的企业架构,分析需求并关注技术趋势;全局视角制定可落地的架构方案,兼顾全局与局部优化;技术选型与难题解决,选择合适技术并解决实际问题;关注方案与代码的广度与深度,确保宏观设计与微观实现的统一;同时,架构师还需具备管理能力,包括团队协作、资源调配和风险管理。
210 11
|
7月前
|
存储 消息中间件 算法
深度思考:架构师必须掌握的五大类架构设计风格
数据流风格注重数据在组件间的流动,适合处理大量数据。调用返回风格则强调函数或方法的调用与返回,过程清晰明了。独立构件风格让每个构件独立运作,通过接口交互,提升灵活性和可重用性。虚拟机风格则模拟完整系统,实现资源的高效利用。
388 0
深度思考:架构师必须掌握的五大类架构设计风格
|
7月前
|
机器学习/深度学习 人工智能 架构师
【架构师】AI时代架构师必备技能
【架构师】AI时代架构师必备技能