开发者社区> 问答> 正文

SLB中layer-4/layer-7实现

对于四层负载均衡,看了下开源的LVS,结合上阿里相关实现 大概了解了
对于七层负载均衡 还有些没搞定
比如 client通过http访问云服务器,首先经过loadbalancer,是不是要经过LVS后在送到TNG然后在往后台的云服务器分发?
返回请求时 也是要先到达TNG 然后在经过LVS 最终返回给client?


这个过程不知道为何要经过LVS(lvs不是四层负载均衡吗)

展开
收起
小鱼czz 2015-03-12 16:29:49 7508 0
2 条回答
写回答
取消 提交回答
  • ReSLB中layer-4/layer-7实现
    首先,4层和7层的负载均衡是不是你就混淆了呢?4层的负载均衡是指在IP+端口层,通过一定负载均衡算法+缓存机制来负载均衡链接;7层是指应用层,一般来说就是http这种(比较普遍的是nginx),它们首先是两个不同的负载均衡器。那么,你如果需要负载均衡的话,其实只需要走过一个即可,一般如果没有特殊需求是不会先走过LVS又走nginx的。

    这句话
    ···
    比如 client通过http访问云服务器,首先经过loadbalancer,是不是要经过LVS后在送到TNG然后在往后台的云服务器分发?
    返回请求时 也是要先到达TNG 然后在经过LVS 最终返回给client?
    ···
    可能你的理解有些谬误,第一我其实想问你指的具体第七层负载均衡是什么呢?是nginx么?但是你现在在看LVS,所以我怀疑你现在指的第七层负载均衡器指的是KTCPVS。

    if ((你指的第七层负载均衡器指的是nginx)==true)
    {
    那么实际上流程是,客户端消息发送到nginx主服务器,然后nginx次线程来竞争该相应,竞争完之后,会将该消息负载均衡到后面的一个服务器。下行则是服务器直接回复客户端。
    }
    else
    {
    LVS和KTCPVS是两个不同的负载均衡器,(KTCPVS原理我不太理解),但是客户端来的消息也是是发送给KTCPVS,然后经由KTCPVS自己本身的负载均衡器来进行负载均衡。(这里感觉是你把LVS、LB、KTCPVS弄混了)
    }

    2016-03-22 17:39:34
    赞同 展开评论 打赏
  • ReSLB中layer-4/layer-7实现
    你好,
         HP公司招聘SLB核心代码编程人员, 懂C语言和LVS, Nginx即可
    联系我Roy: zhuhua.zhen@hp.com
    2016-03-22 15:57:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载