V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
irockytan
V2EX  ›  程序员

求问 MySQL 数据库读写分离由数据库中间件实现和程序实现的性能对比

  •  
  •   irockytan · 2016-03-30 23:35:29 +08:00 via iPhone · 4191 次点击
    这是一个创建于 3161 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有人有过类似测试或者类似方案的考虑?或者这方面的文章?
    15 条回复    2016-03-31 23:00:13 +08:00
    cevincheung
        1
    cevincheung  
       2016-03-31 03:41:43 +08:00
    这个怎么说呢……

    小博客,你用中间件干啥,慢的要死
    企业应用, what ?你居然没用中间件?牺牲掉一定的性能换来全局集群的负载均衡的负载能力的提升还是有必要的。
    SlipStupig
        2
    SlipStupig  
       2016-03-31 04:00:56 +08:00
    目前用过 360 的 atlas 还行,还有一个就是 mycat 看了测试报告也还不错
    wupher
        3
    wupher  
       2016-03-31 07:59:02 +08:00
    用过一段时间的 Fabric ,无论从性能还是稳定性上来说都不是太推荐。

    如果是大型应用,个人以为最好还是架构师在 Project 开始时考虑好性能需求,引入多数据源。(如果能预测的话)
    irockytan
        4
    irockytan  
    OP
       2016-03-31 08:00:55 +08:00 via iPhone
    @cevincheung 电商应用,因为只针对上海客户,目前来说用户量不太大,所以一开始是没有用数据库的中间件的,压力也在能接受的范围内,最近准备加入读写分离,所以考虑使用哪种方案,不知道你有什么推荐的么?
    irockytan
        5
    irockytan  
    OP
       2016-03-31 08:02:06 +08:00 via iPhone
    @wupher 多数据源的配置有预留的,按照你的方案,是在应用层来实现读写分离?
    irockytan
        6
    irockytan  
    OP
       2016-03-31 08:02:27 +08:00 via iPhone
    @SlipStupig 谢谢,我回头了解一下
    flikecn
        7
    flikecn  
       2016-03-31 08:13:58 +08:00 via iPhone
    我用 Go 写了一个 https://github.com/flike/kingshard 。可以看看
    irockytan
        8
    irockytan  
    OP
       2016-03-31 08:30:02 +08:00 via iPhone
    @flikecn 在车上粗略浏览了一下 Readme ,回头细看,不知道有没有性能对比的测试之类的?谢谢!
    flikecn
        9
    flikecn  
       2016-03-31 09:07:48 +08:00
    @irockytan 有性能测试相关文档,只和直连 MySQL 对比了。
    fengkuok
        10
    fengkuok  
       2016-03-31 09:14:01 +08:00
    这得看你的项目大小
    noahzh
        11
    noahzh  
       2016-03-31 09:19:00 +08:00
    中间件的性能损耗最大,因为多了一次转发,程序不需要改造.反之就是性能没有损耗,程序要大改.
    markmx
        12
    markmx  
       2016-03-31 10:07:33 +08:00
    @flikecn 你这个和 MYCAT 有啥区别呢。。
    是不是也是模拟 MYSQL 服务端?
    flikecn
        13
    flikecn  
       2016-03-31 14:57:40 +08:00
    @markmx 是模拟 MySQL 服务端。具体区别还蛮多的,你可以看看文档。:)
    cevincheung
        14
    cevincheung  
       2016-03-31 16:01:58 +08:00
    @irockytan

    360Atlas
    https://github.com/Qihoo360/Atlas

    国人开发的 OneProxy 。都可以尝试一下(这个貌似是商用
    irockytan
        15
    irockytan  
    OP
       2016-03-31 23:00:13 +08:00
    @cevincheung
    @flikecn
    @SlipStupig
    @wupher
    这两天有点小忙,月度大促结束,有一些收尾的工作,等周末花点把你们介绍的中间件了解过后再来和各位讨论,谢谢了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   903 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.