架构师第五周

用户头像
Tulane
关注
发布于: 2020 年 07 月 09 日



这次通过用代码实现一致性hash算法, 让我直接领悟到一致性hash的含义, 之前只是懵懵懂懂的理解, 直到写出来才真的学到了.

收获最深的还是老师讲解的负载均衡这块, 以前对这方面接触不深, 仅仅学过Nginx的使用, 当时还觉得负载均衡就是Nginx, 其他的都不好使, 现在来看是很天真无知了.



负载均衡方面, 需要在掌握7层通讯协议下才能理解在各个层做负载均衡的区别, 以及优势点.



就拿Nginx来说, 这是典型的在HTTP应用层做的负载均衡, 用的也是反向代理负载均衡的方式.优势是使用上方面, 门槛低, 但劣势也很明显, 就是服务器的性能上限, 阻碍了集群负载的上限.

因为Nginx本身相当于HTTP服务器, 需要代理HTTP的收发, 针对HTTP这种数据量很大的协议是有很大性能开销, 服务器即决定上限, 能代理十几个服务器的体量.



再往上是IP层(传输层)做负载均衡, 服务器只需对TCP包做IP转换即可, 这时的上限变为了带宽, 负载均衡服务器需要响应回传的TCP包, 再传到用户, 所以带宽成了限制.



解决带宽限制的办法是让服务器集群自身去响应, IP负载均衡需要改变响应IP地址, 所以必须自身响应, 这时就需要再往上走, 在数据链路层做负载均衡, 集群的IP都与负载均衡服务器一致, 是虚拟IP, 负载均衡服务器会为请求分配不同MAC的网卡, 集群集体响应并判断是否与本机MAC一致, 当响应请求时直接从集群服务器去响应用户即可, 因为响应IP没有变动过.

用户头像

Tulane

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师第五周