LVS Direct Routing 直接路由

1. Direct Routing 直接路由

director分配请求到不同的real server, real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器一半的连接,

避免了新的瓶颈,同样增加了系统的可伸缩性。Direct Routing 由于采用物理层(修改MAC地址)技术,因此所有服务都必须在一个物理网段。

(2). IP Tunneling(IP隧道)

director(分发器)分配请求到不同的real server, real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。

IP Tunneling 技术极大的提高了director的调度处理能力,同时也极大的提高了系统能容纳的最大节点数,可以超过100个节点。real server 可以在任何

LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重大的意思,服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须

支持IP隧道协议。

总结:两者区别 Direct Routing 和 IP Tunneling 相比,没有IP封装开销,但由于采用物理层(修改MAC)技术,所有服务器都必须在一个物理网段。

DR模式拓扑图及DR工作方式流程图

实现方式: LVS DR模式工作原理是MAC地址转换过程:

实例场景清单:

<1> client基本信息,IP:192.168.57.135  向目标VIP发出请求,Director接收,此时IP包头及数据帧头信息如下:

<2> Director 分发器根据负载均衡算法选出一台active的real server来处理请求(比如:192.168.57.122),将此RIP所在网卡的MAC地址作为目标MAC地址,

发送到局域网里,此时IP包头及数据帧头信息如下:

<3> real server(192.168.57.122)在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文,随后重新封装报文,发送到局域网,此时IP

包头及数据帧头信息如下:

<4> 如果Client与LVS同一个网段,那么client(192.16.57.135)将收到这个回复报文。如果跨了网段,那么报文通过geteway/路由器经由Internet返回给用户。

总结:DR比NAT模式效率高,DR必须都是公网地址。

时间: 2024-10-12 22:29:33

LVS Direct Routing 直接路由的相关文章

(转)RabbitMQ消息队列(五):Routing 消息路由

上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindings绑定 上篇文章中我们是这么做的绑定: [python] view plaincopy channel.queue_bind(exchange=exchange_name, queue=queue_name) 绑定其实就是关联了exchange和queue.或者这么说:queue对exchagne的内容感兴趣

RabbitMQ消息队列(五):Routing 消息路由

目录(?)[-] Bindings绑定 Direct exchange Multiple bindings Emitting logs Subscribing 最终版本 上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindings绑定 上篇文章中我们是这么做的绑定: [python] view plaincopy channel.queue_bind(exchang

RabbitMQ --- Routing(路由)

目录 RabbitMQ --- Hello Mr.Tua RabbitMQ --- Work Queues(工作队列) RabbitMQ --- Publish/Subscribe(发布/订阅) 前言 在上一章中介绍了 Publish/Subscribe(发布/订阅),它是把每个消息发送给多个 Consumer,也就是说每个 Consumer 都是接收所有的消息,辣么问题来了,如果 Consumer 只接收它想要的某一部分消息,那该怎么办呢?可以通过 Routing(路由)的机制来实现. Dir

RabbitMQ消息队列(五):Routing 消息路由[转]

上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity(严重程度)来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindings绑定 上篇文章中我们是这么做的绑定: channel.QueueBind(queueName, EXCHANGE_NAME, ROUTING_KEY);//const string ROUTING_KEY = ""; 绑定其实就是关联了exchange和queue.或者这么说:queu

MVC - Routing - 网址路由

1. Routing  : 路由 主要是比对通过浏览器传来的http要求与响应适当的网址给浏览器. ? 1 @Html.ActionLink("关于","About","Home") 这段代码生成的HTML超连接: ? 1 <a href="/Home/About">关于</a> 2. 默认情况下 网址路由规则定义在 App_Start\RouteConfig.cs文档中. ? 1 2 3 4 5 6

Angular routing生成路由和路由的跳转

Angular routing生成路由和路由的跳转 什么是路由 路由的目的是可以让根组件按照不同的需求动态加载不同的组件. 根据不同地址,加载不同组件,实现单页面应用. Angular 命令创建一个配置好路由的项目 命令创建项目 ng new demo02 --routing 安装依赖 npm install 启动项目 ng serve --open 与没有创建路由的项目比较 创建路由项目的文件比没有创建路由项目的文件多了一个 app-routing.module.ts 文件. 然后在 app.

LVS:DR模式(Direct Routing)部署实验

本文介绍怎样在kvm的虚拟环境下,部署实验LVS的DR模式.包含网络结构图,怎样配置.以及使用tcpdump分析ip包. 网络结构图 kvm节点(client) 192.168.7.2 (CIP) |           br_e网桥 /                     \ (VIP) eth7:192.168.7.33      eth14: 192.168.7.99       lvs虚拟主机                      server虚拟主机 (DIP)        

ASP.NET MVC 小牛之旅3:Routing——网址路由

网址路由(Routing)在ASP.NET MVC中有两个主要用途,一个用途是匹配通过浏览器传来的HTTP请求,另一个用途则是响应适当的网址给浏览器. 3.1匹配通过浏览器传来的HTTP请求 首先我们来看下第一个用途,也就是匹配通过浏览器传来的HTTP请求. 客户端对ASP.NET网站发出请求时,能够通过Routing找到合适的HttpHandler来处理网页,大致的处理流程为: 如果HttpHandler是由MvcHandler来处理的,那么,此时就会进入ASP.NET MVC的执行生命周期,

partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)

partial.js client-side routing https://github.com/petersirka/partial.js-clientside Framework supports the HTML 5 History API, for older browsers (IE8+) URL hashtag is automatically enabled. This plugin is a little big cannon for the web development.