Mycat SqlServer 技术栈 实现 主从分离

现在主从分离 一主一从 用的是 代码 写死的方式  转换下思路 一主两从 或者多从 怎么实现 负载均衡 或者 按权重调用相应库呢 看了下 Java里面 spring 有个实现方法 就是 截获 sql 字符串 当出现 insert update delete 时 走主库 其他的走从库 代码实现 感觉这样还是比较low 中间件的话 sqlserver 确实有一些 这里我列举一下 我最近 找的的吧  oneproxy-for-sqlserver  moebius  相对于 mysql 而言 sqlserver 的分布式数据库中间件 相形见绌 最火爆的mycat 也很奇怪 官网 很显然的表示 可以支持 sqlserver oracle  但是呢  入门 就需要干货 这时 只好 参考着 mysql + mycat 来看 相应不同点 在看 sqlserver 配置吧  经过一翻折腾 最终困惑在 MySql.Data 连接mycat 走  MySqlConnection 时  connection.Open();  一打开数据库连接 就会抛 errno:195 'NOW' 不是可以识别的 内置函数名称。 用 Pomelo.Data.MySql 这个可以过去 但是 还是在  : errno:195 'curtime' 不是可以识别的 内置函数名称。 这个错误 查看了下 mycat的源代码 这块也没找到解决方案 。

先抛出一个解决方案 

try
{
connection.Open();

}
catch (Exception ex)
{
}

  

这时只要不throw 异常 那么数据库连接是已经正常打开的了 并且 后续执行 任何 cmd 命令 以及 Transaction 都是可以 正常 commit  Rollback 的 

问题已经提交给 mycat 相关开发者了 后期有解决方案的话 会补充进来 

猜你喜欢

转载自www.cnblogs.com/codedreams/p/9234069.html