zoukankan      html  css  js  c++  java
  • 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 相关开发者了 后期有解决方案的话 会补充进来 

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

  • 相关阅读:
    docker学习之路-nginx镜像(翻译)
    docker学习之路-centos下安装docker
    Angular复习笔记7-路由(下)
    Linux保证运行一个实例
    使用epoll实现简单的服务器
    vmware中centos、redhat桥接网络配置
    同步队列、线程池模式服务器消息处理类
    ocilib linux编译安装
    redhat6.5安装oracle11_2R
    redhat6.5安装yum
  • 原文地址:https://www.cnblogs.com/codedreams/p/9234069.html
Copyright © 2011-2022 走看看