这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
什么是架构
架构又称软件架构,是软件整体结构和组件的抽象描述
单机架构
把所有概念都实现在一个进程,部署在一台机器.
这种架构比较简单,但是运维的时候就需要停服
垂直/单体架构
分布式部署,服务器, 用户通过中转站连接到对应的服务器, 对应的服务器在停机的时候中转站可以把用户分配到 其他的联机服务器当中去
垂直架构比单体架构更加细分, 比如说服务组A,服务组B专门负责服务A和服务B, 需要服务A的时候由中转站连接到A组内的服务器,需要服务B的时候连接到B组内的服务器
服务A和服务B组成服务
对于minecraft服务器来说Hypixel采用的就是垂直架构, Bungee作为中转站, 然后有小游戏A,小游戏B,战旗A战旗B,酱紫.
微服务
SOA就是微服务,把进程应用进一步拆分为服务. 比如说把做面包,分为 揉面,撒料,烘培这三步,然后做面包服务与装货台服务沟通,装货台服务再与售卖服务沟通
总结
架构的演变是需求量越来越大, 让每个功能都细分为一个个服务.
垂直切分: 将服务细化 水平切分: 增加消息沟通
后端框架面临的问题
机器和带宽是有限的,用户层面网络通信开销较大
离在资源并池可以降低物理资源成本,比如提供更多的弹性资源增加收入.
在线业务IO密集,实时,离线业务计算密集,非实时
什么是潮汐性?潮汐性质是一段时间使用资源很多,其他时间使用资源很少.
利用在线业务潮汐性可以自动扩缩容