这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
一、架构
单机
C10K问题:单机架构在一台机器上部署,会有瓶颈
单体架构
SOA、微服务 | 水平切分
面向服务架构:
对垂直应用架构做了一次水平切分。
二、企业级后端架构剖析
云计算
云原生
弹性资源
弹性计算资源类型
服务资源分类:
微服务:占用资源的量级比较小,可以快速完成承载的能力
大服务:占用资源的量级比较大
计算资源:
在线:热销榜单
离线:热销榜单更新
消息队列:
在线:有很大的吞吐量,削峰、解耦
离线:大数据分析
弹性存储资源类型
-
经典:
对象存储:
大数据存储:
-
关系型数据库:
-
元数据存储:服务发现
-
NoSQL:KV存储
DevOps
软件交付,贯穿整个软件开发周期
结合自动化流程,提高软件开发,交付效率
微服务
通信标准:
- HTTP:Restful API
- RPC:thrift, gRPC
微服务中间件:帮助我们不用特别关注提供HTTP接口让别人调用我。
RPC vs HTTP 怎样选择:
-
性能:RPC更好一些
-
服务治理:RPC中间价天生具备一些,如超时,事务处理
-
协议可解释性:HTTP具有比较好的可解释性,Payload,json
API服务之下通过Thtift提高服务的性能。
使用框架(中间件)即可,业务逻辑不必关心通信等。
KV缓存的数据持久化或与数据库的同步(更新),可以通过消息队列,从关系型数据库消费数据,更新KV缓存。
服务网格
三、企业级后端架构的挑战
自动扩缩容:利用在线业务潮汐性自动扩缩容
微服务亲合性部署:
四、实战
问题:CPU水位负载均衡