首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

基于amoeba的mysql分布式数据库学习(2)

2012-09-25 
基于amoeba的mysql分布式数据库学习(二)??三、启动过程解析??1.?加载Log4j配置文件,配置日志信息2.?初始化P

基于amoeba的mysql分布式数据库学习(二)

?

?

三、启动过程解析

?

?

1.?加载Log4j配置文件,配置日志信息
2.?初始化ProxyRuntimeContext? ,比如加载配置文件,做一些初始化操作,设置一些上下文信息
3.?注册Reporter 功能
4.?创建Mysql客户端代理的连接管理器(该管理器管理客户端到代理服务器和代理服务器到服务端的连接,并调度分配连接)。
5.?读取IP权限表,并注册到Mysql连接管理器中
6.?最后启动服务。启动服务以后,Mysql 连接管理将监听指定的端口,开始提供服务。

?

?

?四、MysqlClientConnectionManager机制

?

???????MysqlClientConnectionManager 的类的继承关系如下:

?

??????

????? 其中Looping在run方法中做两件事情:

  • 执行方法 willStart(),做端口监听的相关信息初始化操作,详细可见: ServerableConnectionManager.willStart() 方法
  • iterate() :  轮询监听端口,以处理响应的网络事件(包括从客户端<--->Mysql代理服务器 和 Mysql代理服务器<-->mysql目标服务器之间的交互事件)

    ????? MysqlClientConnectionManager 在收到网络事件以后,调用 MySqlCommandDispatcher 对网络事件进行分发处理(详细的分发方法后续详细分析)。

    ?

    ?

    ?

    ?

    ?

    这个产品的部分想法很不错,但是我感觉这个产品非常脱离现实.?
    首先,一个企业里的应用,大部分都是以下情况:?
    1.数据源使用的是应用服务器上配置的数据源.?
    2.必须要有事务管理?
    3.有很大可能是使用了spring+hibernate或者ibates?

    对于以上情况,请教一下,这个产品如何提供支持??

热点排行