今天看到了这么一个新项目–MySQL Proxy,貌似最近比较热门。简单来说就是一个从MySQL Client到Server的一个代理。可能有人认为MySQL这种连接方式不应该会用到代理,因为一般来说都喜欢把MySQL Server放到后端,用内网圈起来,这样一方面保证安全,另一方面用Local Ethernet来避免不稳定因素较多的Internet连接,因此基本没有代理这个角色出现的机会。然而,假如这个代理不仅仅是一个代理,而是一个能“懂得”连接双方传送内容,并有可能会对双方内容加以控制甚至干涉的一个角色呢?还有没有人觉得他没用?联想一下Squid之于HTTP Client和HTTP Server所能起到的作用,是不是能想到更多了呢?
是的,MySQL Proxy就是这么一个玩艺儿。代理仅仅是其最不值一提的功能,让人激动的功能都是建立在代理这个前提之上,能实现的更好玩的东西,例如以下:
Query Interception
Query Filtering
Query Rewriting
Macro Expansion
可能对于没接触过这个东西的人,这几个概念还不是十分直观,那么这样,在脑子里描绘这样一幅情景:
1,原本为Cilent-Server直连这种拓扑,现在引入MySQL Proxy,变成Client-Proxy-Server。
2,原本为了实现高容载能力,对于Server采取了多台并存,Master/Slave甚至是Master/Master等方式的复制集群,配置管理都比较复杂。而引入了Proxy以后,中间存在了这样一个Store-Forward的proxy环节。
3,在这个环节,我们可以通过一种脚本语言来控制这个proxy的行为,例如对于Client进来的查询依照某种条件过滤,甚至依照某种条件改写,再导向后端的Server。
4,凭借自己实现的filtering或rewriting,我们可以实现很多目的,例如Failover,例如Load balance。或者更无聊些我们可以对Client进来的带有弱智语法错误的SQL语句进行修正。
有了这个东西,几乎是想到什么就能完成什么,这可是大大得扩展了MySQL应用的多样性,可以用它来实现一些高端商业数据库的复杂的企业化功能。相信喜欢MySQL的架构设计师们一定会喜欢这个玩艺儿。
这里有篇Getting Start,是很好的入门教材,对于这套软件,定要保持关注。
文章分类
- Cartoon and Anime (12)
- FreeBSD (12)
- Game (3)
- Hardware (12)
- IT (3)
- Joke (15)
- Life goes on (54)
- Linux (14)
- Music (9)
- Networking (35)
- Programming (4)
- Software (17)
- solaris (2)
- tips (1)
- Weblog (41)
- Windows (22)
按月归档
- May 2008 (2)
- April 2008 (3)
- March 2008 (3)
- February 2008 (3)
- January 2008 (2)
- December 2007 (3)
- November 2007 (10)
- October 2007 (12)
- September 2007 (8)
- August 2007 (7)
- July 2007 (10)
- June 2007 (12)
- May 2007 (14)
- April 2007 (14)
- March 2007 (18)
- February 2007 (11)
- January 2007 (8)
- December 2006 (12)
- November 2006 (13)
- October 2006 (5)
- September 2006 (9)
- August 2006 (13)
- July 2006 (13)
- June 2006 (16)
- May 2006 (21)
Weblog







