Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396051
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: Mysql/postgreSQL

2013-01-10 16:10:21

   目前proxy中的rw-splitting.lua实现读写分离的功能,它也整合了balance.lua。
   proxy中的C语言与lua的职责的划分
       C语言接收数据包,lua来分析数据包。
       C语言主要实现一些不经常变动的部分,lua则承担了proxy中经常变动的策略那一部分
       比如读写分离的策略,负载均衡的策略,这些参数和方式都会随环境的变化而变化,
       也在调试的过程中会不断的变更。
   proxy中C语言与lua共享的一部分数据
       C语言将queries(sql的一些语句构成的队列),backends的队列,connection对象共享到
       lua环境下,其中queries和connection主要是针对客户端侧的共享数据,backends主要是后端
       Mysql服务器的一些配置信息。这些对象都是带操作集(metatable)的,方法都是C实现的。
   proxy中使用了2个lua环境
       network_mysqld_con中存在2个lua_State对象;一个是针对Client侧的,一个是Server侧的。
       Client侧的plugin_conn_state;Server侧的srv->priv;
    
阅读(1777) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~