mysql-proxy原理与使用浅析(一)

来源:互联网 发布:nginx rtmp module性能 编辑:程序博客网 时间:2024/05/16 15:59

为什么要使用MySQL-Proxy呢?MySQL-Proxy能带来什么样的好处?我们先来看一下正常的MySQL通信流程:

很显然,我们可以在这些流程中间加入一个中间人,由它来将这些请求转发,接下来我们看一下如果加入一个中间人(MySQL-Proxy)的情况下,流程会变成什么样子,以及这种变化会带给我们什么样的好处。

上图中红线部分都表示MySQL-Proxy可能篡改的地方。而proxy_xxx方法表示MySQL-Proxy可以拦截并提供给使用者进行篡改的途径。事实上MySQL-Proxy使用了LUA来作为它的胶水语言,同时提供了connect_server,read_handshake, read_auth, read_authresult, read_query, read_query_result,disconnect_client几种方法,分别对应上图中proxy_xxx的方法,如果lua的脚本里没有提供这些方法的话,那么就会采用proxy_xxx里定义默认实现。

那么为什么MySQL-Proxy采用LUA来作为胶水语言呢?因为LUA语言本身从设计上就是一个支持扩展性,并且使用简单,效率极高同时支持多种平台的语言。

原创粉丝点击