架构|青训营笔记

72 阅读2分钟

架构

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

什么是架构

架构又称为软件架构

  • 用于软件整体结构与组件的抽象描述
  • 用于指导软件系统各个方面的设计

架构就是在方法选择上起着重要的指导作用,更好的基础,走的更远。

单机:把所有功能都实现在一个进程里面,并部署到一台机器上,缺点:C10K problem、运维需要停服,针对这种问题演化出单体架构(分布式部署),在此基础上划分出垂直应用架构

SOA:将应用不同的功能单元抽象为服务,定义服务之间的通信标准

微服务架构:SOA的去中心化演进方向

企业级后端架构剖析

云计算:通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石

基础:

  • 虚拟化技术
  • 编排方案 架构:
  • Iaas(买房子或着房屋租界平台)
  • Paas(清包或许全包)
  • Saas(从零培训或许雇佣)
  • Faas(纯手工或者批量生产)

弹性计算资源类型:

  • 服务资源调度:微服务、大服务
  • 计算资源调度:在线(热销榜单)、离线(热销榜单更新)
  • 消息队列:在线(削峰)、离线(大数据分析)

DevOps是软件交付的利器,结合自动化流程,提高软件开发、交付效率

通信标准:

  • HTTP
  • RPC(性能会好一点)

image.png

服务网格:微服务之间通讯的中间层,高性能网络代理

架构类似: image.png

企业级后端架构的挑战

基础设施层面:物理资源是有限的(机器、带宽),资源利用率达不到最高

用户层面:网络通信开销大、网络抖动、不同环境下所用资源不同

离在线资源并池可以减低物理资源成本,提高更多的弹性资源,增加收入。

根据在线离线的特点在不同的时间段分配不同资源

微服务亲合性部署可以降低业务成本,提高服务可用性

后端架构实战

CPU水位负载均衡,应该如何设计

输入:

  • 服务网络数据面:支持权重的负载均衡策略
  • 注册中心存储所有容器的权值信息
  • 宿主机能提供容器的资源使用情况和物理资源信息

方案:

  • 采集宿主机物理资源信息
  • 调整容器注册的权重

它的缺点是无紧急回滚能力,缺乏运行时自适应能力

之后提出了自适应动态权值Alpha,解决了无法紧急回滚的问题以及运行时权值自适应

最后提出了自适应动态权重Release版本,适用于大多数版本。