Mycat SqlServer 技术栈 实现 主从分离

先说明下版本:SqlServer2008R2 + MyCat 1.6

现在主从分离 一主一从 用的是 代码 写死的方式  转换下思路 一主两从 或者多从 怎么实现 负载均衡 或者 按权重调用相应库呢 或者 分库 分片 算法  看了下 Java里面 spring 有个实现方法 就是 截获 sql 字符串 当出现 insert update delete 时 走主库 其他的走从库 代码实现 并且 分片 怎么搞 这种搞法是行不通的吧   中间件的话 sqlserver 确实有一些 这里我列举一下 我最近 找的的吧  oneproxy-for-sqlserver  moebius  相对于 mysql 而言 sqlserver 的分布式数据库中间件 相形见绌 最火爆的mycat 也很奇怪 官网 很显然的表示 可以支持 sqlserver oracle  但是呢  无论看 mycat 官网 还是 一些 coder分享的文章 基本上都是mycat + mysql 貌似 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 相关开发者了 后期有解决方案的话 会补充进来 

这个不算是解决方案 但还是可以跑起来的 大家有好的解决方案一希望可以 留言 或者 分享出来了

posted @ 2018-06-27 15:08  @_追寻_@  阅读(1353)  评论(1编辑  收藏  举报