架构初探 | 青训营笔记

54 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天,今天学习了架构的基本知识,以蛋糕店的例子了解了架构,还需要在实践里慢慢理解。

架构:

一、 基本概念:

架构,又称软件架构

是有关软件整体结构与组件的抽象描述

用于指导软件系统各个方面的设计

实现一个软件的方法很多,架构在方法选择上起着至关重要的指导作用

架构就像地基,地基坚实了,大厦才能造得高

分类:

       单机:把所有功能都实现在一个进程里,部署在一台机器上

              优点:简单

              缺点:C10K problem  维护需要停服

       单体架构:分布式部署

       垂直应用架构:按应用垂直切分的单体

              优点:水平扩容,运维不需要停服

              问题:职责太多,开发效率不高。爆炸半径大

       SOA:

1.      将应用的不同功能单位抽象为服务

2.      定义服务之间的通信标准

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

问题:数据一致性、高可用、治理

思路:

垂直切分:分布式

水平切分:分层/模块化

 

二、 企业级后端架构剖析:

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

基础:虚拟化技术,编排方案

架构:

IaaS 买房子

PaaS 全包

SaaS 弹性资源平台构建的云服务

FaaS 类似OJ平台,实现函数即可

       云原生:为组织在工有云,自由云,混合云等新型的动态环境中,构建和运行可弹性扩展的应用。

              弹性资源

服务资源

计算资源:在线&&离线

消息队列:在线:消峰&&离线:数据分析

存储资源:对象存储

DevOps:提高软件开发交付效率开发运营

自动化测试、回滚

服务网格:微服务之间通讯的中间层,网络代理,业务与治理解耦

实现了异构系统治理统一

service mesh数据面进行通信

 微服务:

   RPC性能高:有压缩

RPC自带服务治理:eg超时、熔断

可解释性:HTTP用JSON,解释性好