架构 | 青训营笔记

88 阅读3分钟

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

一、本堂课重点内容

  • 架构

二、详细知识点介绍

1.什么是架构

架构,又称软件架构,是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计,实现一个软件有很多种方法,架构在方法选择上起着至关重要的指导作用--好比做蛋糕。

重要性:地基没打好,大厦容易倒,地基坚实了,大厦才能盖得高,站在巨人肩膀上,才能看得远。

  • 待解决问题
  • 单机
  • 单体、垂直应用/垂直切分
  • SOA、微服务/水平切分

2.企业级后端架构

简单来说就是将普通得架构内容数据量扩大后得后续工作处理--生意好了该怎么办。

  • 云计算:是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。所需基础为:虚拟化技术、编排方案,架构有:IaaS、PaaS、SaaS、FaaS。

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

    1. 弹性计算资源:服务资源调度、计算资源调度、消息队列。
    2. 弹性存储资源:对象数据、关系数据库、元数据、NoSQL。
    3. DevOps:石云原生时代软件交付的利器,贯穿整个软件开发周期。结合自动化流程,提高软件开发、交付效率。
    4. 微服务架构:通信标准HTTP、RPC,微服务中间件,在云原生场景下,微服务大可不必在业务逻辑中实现符合通信标准的交互逻辑,而是交给框架来做。
    5. 服务网格:微服务之间通讯的中间层,高性能网络代理,业务代码与治理解耦。

而企业级开发所面临的挑战:

  • 问题:基础设施层面:资源有限受限、用户层面:成本高,开销大。
  • 离在线资源并池:可以降低物理资源成本,提供弹性资源,增加收入。
  • 自动扩缩容:降低业务成本。
  • 微服务亲合性部署:将满足容器到一台主机,共享内存通信,流量调度。
  • 流量治理:进一步容灾,提高开发效率,DevOps发挥到极致。
  • CPU水位负载均衡:为自动扩缩容提供正向输入。

三、课后个人总结

今天学习的架构,从需求入手,合理分配分工(类似于蛋糕),架构的一些基本概念,从普通架构到企业级架构的过程和所需要学习的知识,同时通过蛋糕店的实战学习了解到了构架运用中实际解决的多方面问题,今天的收获非常大,希望自己继续努力,加油!