mysql 分发_7层分发中,http,mysql是如何控制数据包的走向

client到数据库走向:

client通过keepalived虚拟的vip访问两个ngnix中的一个,

ngnix 通过http头文件中的uri 判断以php和jsp结尾的文件交给谁去处理

以php结尾的交给apache php来处理

以jsp结尾的交给tomcat来处理

apache连接mysql 通过amoeba进行分发,写的在主上,读取则在辅上,走得是mysql协议

数据库回client走向:

mysql 通过amoeba再通过apache再通过正在使用的ngnix再到client

HTTP分析:

客户端通过tcp三次握手的方式与keepalived虚拟的ip进行连接,源地址源mac是client端的,目的ip地址是keepalived虚拟的vip,但是取得的mac地址是两台ngnix中的任意一台,这时就访问到了ngnix,再根据client端请求的数据http中的uri头部字段 进行判断,是访问php页面还是jsp页面,访问的是php就交给apache来处理,目的ip地址及mac地址变成了 apache,源ip是keepalived中的vip,源mac是ngnix的,apache收到请求后将目标ip以及目标mac换成client端的,进行数据传递。

mysql分析:

apache连接的是amoeba,通过amoeba中的两个xml文件来进行处理与验证,根据amoeba中的设置规则查看请求是read还是write或者insert,所以就能够对来源请求进行去哪个数据库的读或者是写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值