superhj1987 / ToDo

我的ToDo列表
3 stars 0 forks source link

极客时间:《从0开始学架构》 #16

Open superhj1987 opened 5 years ago

superhj1987 commented 5 years ago

极客时间:《从0开始学架构》

superhj1987 commented 5 years ago
  1. 《从0开始学架构》让大家了解架构师的工作是什么,需要掌握哪些知识,目的是消除大家对架构师的神秘感。
  2. 划分模块的目的是职责分离;划分组件/零件则是为了单元复用
  3. 一个方法:FMEA架构隐患分析;三个原则:合适、简单、演化;四步设计流程:识别复杂度->设计备选方案->评估和选择备选方案->详细方案设计
  4. 学会使用FMEA分析架构隐患
  5. 要让课程中的一些知识和技能成为自己的意识,不需要刻意就能灵活应用。
  6. 要基于业务做架构设计,刻意培养自己去看业务数据、系统数据的习惯,能够根据数据做系统前瞻性设计,能够预料到未来的技术瓶颈和风险。
  7. 对于最佳实践、好的规范,要工具化。达到Don‘t make me think的目的。
  8. 运维是架构的管理者:架构师设计架构,运维负责管理维护架构。
  9. 克服阅读零散资料时概览的习惯,对于技术文档要仔细阅读,越细节越好,看得越细,那么避开的坑就越多。
  10. 架构师、项目经理、技术Leader职责一肩挑是小公司能提供给大家的区别于大公司的一个优势,需要每一个Leader都具有非常高的自驱力,自我成长能力。也需要培训下属,做好他们的教练,让他们分担工作。
superhj1987 commented 5 years ago
superhj1987 commented 5 years ago

业务高可用:异地多活->采用多种手段,保证绝大部分用户的核心业务异地多活!

四步:

superhj1987 commented 5 years ago

可扩展架构:

superhj1987 commented 5 years ago

微服务(small、lightweight、automated)基础设施、优先级自上而下:

  1. 服务发现、服务路由、服务容错:最基本的基础设施
  2. 接口框架、API网关:提升内部开发效率和外部服务对接效率
  3. 自动化测试、自动化部署、配置中心:提升测试和运维效率
  4. 服务监控、服务跟踪、服务安全:进一步提升运维效率

最后两点随着服务节点数目的增加而越来越重要,但在初期是可以人工支撑的。

superhj1987 commented 5 years ago

架构的演化(量变引起质变):

  1. 婴儿期-初创期:用户规模0-1万,对性能和可用性没有什么压力
  2. 幼儿期-初创期:用户规模1万-10万,单台机器无法支撑,开始考虑拆分机器
  3. 少年期-发展期:用户规模10万-100万,对性能和可用性有较大压力,开始拆分业务
  4. 青年期-竞争期:用户规模100万-1000万,对性能和可用性有很大压力,集群、多机房开始使用
  5. 壮年期-竞争期&成熟期:用户规模1000万-1亿,对性能和可用性有非常大的压力,架构需要重构
  6. 巨人期-成熟期:用户规模1亿+,同壮年期
superhj1987 commented 5 years ago

重构的做法就是“分段实施”,将要解决的问题根据优先级、重要性、实施难度等划分为不同的阶段,每个阶段聚焦于一个整体的目标,集中精力和资源解决一类问题。