架构初探 | 青训营笔记

60 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

1.什么是架构

架构,又称软件架构

  • 是有关软件整体结构与组件的抽象描述
  • 用于指导软件系统各个方面的设计
  • 个人的理解就是房子的地基

单机架构

  • 软件系统需要具备对外提供服务,单机,就是把所有功能都实现在一个进程里,并部署在一台机器上

优点:简单

缺点:运维需要停服

个人理解:把所有东西都部署到一台机器上的话,那台机器挂了,那么整个服务都宕机了!非常危险,所以这种单机架构不适合大企业运用。故业界普遍流行的是HA高可用集群~运用Zookeeper

单体架构,垂直应用|垂直切分

  • 单体架构:分布式部署,就是把单机架构部署都熬部署到多个架构
  • 垂直应用架构:按应用垂直切分的单体
  • 优点:水平扩容,不需要停服运维
  • 缺点:职责多带来的开发效率不够高,爆炸半径大

SOA,微服务|水平切分

SOA(Service-o riented Architecture)

  • 将应用的不同功能单元抽象为服务
  • 定义服务之间的通信标准
  • 优点:耦合度低,各个服务互不干扰
  • 缺点:服务间通讯需要团队协调,测试更加困难了 微服务架构:SOA的去中心化演进方向

演进方向:

  • 微服务化
  • 引入消息队列削峰、解耦
  • 离在线链路切分
  • 梳理强弱依赖