server.xml 概述
server.xml 是 Mycat 的核心配置文件,几乎保存了所有 Mycat 需要的系统配置信息。
主要配置内容
1. 系统参数配置
- Mycat 服务端口(默认8066)
- 管理端口(默认9066)
- 字符集配置
- 线程池大小
- 连接超时时间
2. 用户权限配置
- 定义访问 Mycat 的用户名和密码
- 设置用户权限(如只读、读写权限)
- 配置用户可访问的 schema
3. 防火墙配置
- 设置 IP 白名单/黑名单
- 配置 SQL 拦截规则
- 定义 SQL 注入防护策略
4. 性能调优参数
- 缓冲区大小设置
- 连接池配置
- 事务处理参数
全局序列号
在实现分库分表的情况下,数据库自增主键已经无法保证自增主键的全局唯一。MyCat提供了多种全局sequence实现方式:
0 - 文件存储方式
将数据以文件形式存储在本地文件系统中。
1 - 数据库存储方式
使用关系型数据库存储数据。
2 - 本地时间戳方式
ID采用64位二进制格式:
- 时间戳部分:42位,精确到毫秒级
- 机器标识部分:5位,支持最多32台机器
- 业务编码部分:5位,支持32种业务类型
- 序列号部分:12位,每毫秒可生成4096个序列号
3 - ZK与本地配置的分布式ID生成器
- ZooKeeper集群维护全局配置
- 本地缓存worker节点信息
4 - ZooKeeper递增方式
通过ZK的有序节点生成递增ID。
配置示例
<!-- 用户配置示例 -->
<user name="user">
<property name="password">user</property>
<property name="schemas">wzk_order</property>
</user>