——————————————————摘抄自《极客时间 李运华 从0开始学架构》
互联网业务的高性能和高可用需要从“网络”这个高点去设计,接下来介绍一下互联网架构模板的“网络层”技术的几个关键架构设计点。
负载均衡
1.DNS
HTTP-DNS:使用 HTTP 协议实现一个私有的 DNS 系统。
2.Nginx 、LVS 、F5
Nginx 是软件的 7 层负载均衡,LVS 是内核的 4 层负载均衡,F5 是硬件的 4 层负载均衡。4 层和 7 层的区别就在于协议和灵活性。Nginx 支持 HTTP、E-mail 协议,而 LVS 和 F5 是 4 层负载均衡,和协议无关,几乎所有应用都可以做,例如聊天、数据库等。
Nginx 大概能到 5 万 / 秒;LVS 的性能是十万级,据说可达到 80 万 / 秒;F5 性能是百万级,从 200 万 / 秒到 800 万 / 秒都有。
3.CDN
CDN 是为了解决用户网络访问时的“最后一公里”效应,本质上是一种“以空间换时间”的加速策略,即将内容缓存在离用户最近的地方,用户访问的是缓存的内容,而不是站点实时的内容。
多机房
从架构上来说,单机房就是一个全局的网络单点。而多机房可以保证业务在发生比较大的故障或者灾害时的高可用。
多中心
多机房的主要目标是灾备,当机房故障时,可以比较快速地将业务切换到另外一个机房,这种切换操作允许一定时间的中断,而且业务也可能有损失。多中心要求每个中心都同时对外提供服务,且业务能够自动在多中心之间切换,故障后不需人工干预或者很少的人工干预就能自动恢复。