这是我参与「第五届青训营」伴学笔记活动的第七天,今天粗略了解到了一些架构相关的知识
架构演进
演进思路总的可以概括为从垂直切分到水平切分。 单体架构:属于分布式部署,在应用中也就是对用户分流。
垂直应用架构:按应用垂直切分成若干不同功能的单体架构。 这两种架构本质一样但是开发效率不高。
SOA架构将应用的不同功能抽象为服务,同时需要定义服务之间的通信标准
微服务架构则是SOA去中心化演进方向,强调了自由地建立联接方式
企业后端架构
虚拟化技术在于整租还是合租
编排方案 租赁平台(屏蔽底层,不需要知道物理资源)
laas:设备层面,租或买
paas 平台层面,是否全包
saas 软件层面是否自行设计开发
faas 功能层面
云原生
构建运行可弹性拓展应用,具备虚拟化容器的快速扩容,统一的通信标准,能够敏捷开发,统一异构系统的治理不需要关注用户底层生态,资源可无限拓展
通信标准
HTTP 具备可解释性
rpc 具备压缩性能比http好一些,具备一定服务治理的能力,API后往往调用API的协议。
微服务不必在业务逻辑中实现符合通信标准的交互逻辑。
服务网格
通过高性能代理,进行业务代码和治理的解耦,都是在数据面实现,相比于不使用网格,不需要关心进程,从而能够异构系统治理的统一化,并且与业务进程解耦。
离线和在线资源并池
在线业务:在高峰期流量大,需要实时更新,因此IO密集。
离线:非实时,计算密集。
因此针对不同时间段资源的潮汐性可以进行离线在线资源池子的动态调整,也就是进行自动扩缩容。而在机器内部其依据cpu和内存资源占用率进行调整
对于同一个机器对cpu进行隔离,从而进行离在线资源的分配。
微服务亲合性
通过服务网格控制面实施动态流量调控