这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记
今天简单探讨下架构的话题 相关课程资料:juejin.cn/post/709818…
单机
C10K problem,单机处理 10k 个并发连接的问题,随着 epoll、kqueue 等技术的不断发展,高性能网络编程逐渐回答了 C10K 问题。但在互联网飞速发展的今天,我们正陆续面临 C10M、C10B 等问题。单体服务一定是有架构瓶颈的。
单体、垂直应用
我们把进程部署在多个机器上,并引入负载均衡层,经过这样的垂直切分,就来到了单体架构。
多个机器就好比把蛋糕切成几大块,负载均衡层负责引导用户去事先切好的几块蛋糕处在单体架构基础上。
再把不同应用的代码从之前一个大的进程中拆分出来,就来到了垂直应用架构。按应用拆分进程,就好比慕斯、戚风等蛋糕在不同的点发配
SOA、微服务、水平切分
把原本包含了众多复杂逻辑的进程按照功能单元抽象成多个服务,以服务为一等公民,并为它们之间的通信定义标准,便得到了 SOA 架构。
服务,是根据功能抽象出来的概念。比如说,处理用户登录信息的 Passport 服务,负责持久化存储的数据库服务,以及为了加快查询速度的缓存服务等通信标准,是服务之间通信的基石
问题:数据一致性、服务之间通信、容灾、运维成本高
总结
笔记的内容大多都是总结PPT内容,让我开阔了后端架构的视野,这部分的知识难度对我还是很大,需要今后继续学习,有错误的地方欢迎大家指出来一起探讨!!