架构初探|青训营笔记

106 阅读2分钟

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

架构

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

架构的内容通过蛋糕店来举例,部分词语可类比理解

什么是架构

单机:把所有功能都实现在一个进程里,并部署在一台机器上
单体架构:分布式部署
垂直应用架构:按应用垂直切分的单体
SOA:将应用的不同功能单元抽象为服务,定义服务之间的通信标准
微服务架构:SOA的去中心化演进方向

云原生

云原生技术为组织(公司)在公有云,自由云,混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能

弹性计算资源:
    服务资源调度:微服务(和面、雕花)、大服务(烤箱)
    计算资源调度:在线(热销榜单)、离线(热销榜单更新)
    消息队列:在线(削峰、解耦) 离线(大数据分析)
弹性存储资源:
    经典:对象(宣传视频)、大数据(用户消费记录)
    关系型数据库:(收银记录)
    元数据:服务发现(蛋糕店通讯录)
    NoSQL:KV(来个xx蛋糕)
DevOps:结合自动化流程,提高软件开发,交付效率

微服务架构:
    通信标准:HTTP(RESTful API)PRC(Thrift,gRPC)
    微服务中间件:性能、服务治理、协议可解释性

服务网络:
    服务网格:微服务之间通讯的中间层、高性能网络代理、业务代码与治理解耦
    相比于 RPC/HTTP 框架:异构系统治理统一化、与业务进程解耦,生命周期易管理
    

企业级后端架构的挑战

挑战

基础设施层面:物理资源是有限的(机器,带宽)、资源利用率受制于部署服务
用户层面:网络通信开销大、网络抖动导致运维成本提高、异构环境下,不同实例资源水位不均

离在线资源并池

 核心收益:降低物理资源成本、提供更多的弹性资源,增加收入
 在线业务的特点:IO密集型为主、潮汐性、实时性
 离线业务的特点:计算机密集型占多数、非实时性
 

自动扩缩容

  核心收益:降低业务成本
  自动扩缩容:利用在线业务潮汐性自动扩缩容

微服务亲合性部署

   核心收益:降低业务成本、提高服务可用性
   微服务亲合性部署
       将满足亲合性条件的容器调度到一台宿主机
       微服务中间件与服务网络通过共享内存通信
       服务网络控制面实施灵活、动态的流量调度