架构| 青训营笔记

88 阅读2分钟

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

什么是架构

架构又称软件架构,是软件整体结构和组件的抽象描述

单机架构

把所有概念都实现在一个进程,部署在一台机器.

这种架构比较简单,但是运维的时候就需要停服

垂直/单体架构

分布式部署,服务器, 用户通过中转站连接到对应的服务器, 对应的服务器在停机的时候中转站可以把用户分配到 其他的联机服务器当中去

垂直架构比单体架构更加细分, 比如说服务组A,服务组B专门负责服务A和服务B, 需要服务A的时候由中转站连接到A组内的服务器,需要服务B的时候连接到B组内的服务器
服务A和服务B组成服务

对于minecraft服务器来说Hypixel采用的就是垂直架构, Bungee作为中转站, 然后有小游戏A,小游戏B,战旗A战旗B,酱紫.

微服务

SOA就是微服务,把进程应用进一步拆分为服务. 比如说把做面包,分为 揉面,撒料,烘培这三步,然后做面包服务与装货台服务沟通,装货台服务再与售卖服务沟通

总结

架构的演变是需求量越来越大, 让每个功能都细分为一个个服务.

垂直切分: 将服务细化 水平切分: 增加消息沟通

后端框架面临的问题

机器和带宽是有限的,用户层面网络通信开销较大

离在资源并池可以降低物理资源成本,比如提供更多的弹性资源增加收入.

在线业务IO密集,实时,离线业务计算密集,非实时

什么是潮汐性?潮汐性质是一段时间使用资源很多,其他时间使用资源很少.

利用在线业务潮汐性可以自动扩缩容