一步一步,mycat源码调试

MycatCore.java,源码分析重要的切入类

这个类是比较重要的一个类,里面定义了一个main方法,包含mycat启动的全过程:

  • 加载mycat1.xml并进行相关配置,加载Mycat1.xml上面配置的数据端口(默认8066)、以及集群配置,包括cluster有多少个节点,集群IP,集群端口(9066),这里可以看出,集群里面的mycat实例就是从这里配置的,但是mycat集群到底是怎么实现的,还需要挖深代码去寻找。如果想进行集群配置管理,修改xml的配置方式,可以修改此处的代码来达到目的

  • 根据MycatConfig设置ProxyRuntime, ProxyRuntime应该就是Mycat程序的主要的类了

  • 设置ProxyRuntime的sessionManager,sessionManager应该与报文通信有关

ProxyRuntime,程序初始化的更深的切入点

从MycatCore里面可以看到这个类十分重要,ProxyRuntime设置完MycatConfig以及sessionManager后,就会初始化M(物理机CPU核心数)个ProxyReactorThread(ProxyReactorThread继承java.util.Thread,里面有run方法),并且启动这些线程。程序就会开始执行。

备注

  • mycat的数据端口默认是8066,mysql workbench等Mysql数据库的管理工具可以通过这个端口经mycat代理获取Mysql的数据;但是MycatCore的main方法运行时没有日志暴露已经监听了8066端口, mysql workbench通过8066端口输入用户名密码可以连接mycat,通过mycat代理获取到mysql数据库的信息;当Mysql workbench进行查询时,可以看到MycatCore的终端打印出对应的SQL

  • 配置hibernate或者类似的框架的mysql url连接需要加上useUnicode=true&characterEncoding=UTF8,例如
    spring.datasource.url=jdbc:mysql://127.0.0.1:8066/health?useUnicode=true&characterEncoding=UTF8
    否则会提示字符编码错误,原因未知

  • mycat的管理端口是9066,mycat的管理端口,MyCatCore的main方法运行时日志会暴露该端口

  • NameableExecutor
    MycatCore的main方法首先使用了该类,因此可以先分析一下这个类到底是用来干什么的,并且做了些什么东西。这个类通过继承 java.util.concurrent.ThreadPoolExecutor,实现java.util.concurrent.ExecutorService,JAVA中,ThreadPoolExecutor和ExecutorService是实现线程池的方法,ThreadPoolExecutor一般会固定的配置最小线程数和最大线程数或者固定的配置线程数,然后通过ExcecutorService的execute方法执行Runnable对象的方法。但是这个目前的代码是预留的,没有在main方法里面有任何业务逻辑的处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,313评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,038评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,856评论 19 139
  • 本来想在题目后加个标点,但是觉得没有合适的标点,毕竟中华文化,博大精深,含义很多的,所以省略了。接下来正文。 看到...
    在下公孙阅读 421评论 0 0
  • 分手见人品,辞职同样见人品辞职时,不仅能看出员工的人品,也能看出领导的人品。如果你遇到的是一个坏领导,那么如何跟坏...
    这个馒头有馅阅读 21,039评论 0 4

友情链接更多精彩内容