架构师训练营第五周学习笔记
本周开始讲解互联网架构的技术选型。互联网的特点是多读少写,所以如何提升系统的读性能是一个很关键的问题。通常的手段就是加缓存,包括前端缓存,CDN,反向代理缓存,后端服务器本地缓存,后端分布式缓存,从离用户最近的客户端开始,一直到最远的数据库,都有缓存的身影。
另外在写方面,为了提升写入性能,通常的手段就是做异步处理。从语言本身来说,包括 js 的回调函数,java 的 react 反应式编程,还有 golang 的协程,都是很好的异步实现。抛开语言本身实现,通用的技术方案是基于消息队列中间件实现,包括 kafka,rocketMQ 在内的很多优秀的中间件可以选用。
本周还讨论了负载均衡的技术实现,包括基于 http 的 7 层负载,基于 TCP/IP 的 4 层负载,还有基于 MAC 地址更改的链路层负载方案。由于是分布式集群,session 就从单个服务节点扩展到了多台,服务器是有状态还是无状态,就变成了一个待解决的问题。目前主流的方案是有基于集中式的 session 服务器和基于 cookies 的前端存储方案。
下图是本周的脑图笔记小结:
版权声明: 本文为 InfoQ 作者【李日盛】的原创文章。
原文链接:【http://xie.infoq.cn/article/02576a7f36448a61ab15513ba】。文章转载请联系作者。
评论