• 用中间件实现读负载均衡的数据库群集


    用中间件实现读负载均衡的数据库群集

    一般地数据库有70%的读数据事务,只有30%不到的写数据事务,数据库一般就是卡在读数据事务太多,

    因此用中间件实现读负载均衡的数据库群集是非常有意义的事。事实上数据库的写负载均衡是不可能存在的,所以不用考虑。

    读负载均衡如何实现?

    中间件维护一个数据库的配置列表(数据库名、IP地址、端口号、帐号、密码、负载情况)。

    中间件日志监控一切SQL命令。

    中间件监控到准备执行:select * from t1 这种读数据事务之前,先根据负载均衡算法选取一个待读数据的数据库,然后读数据。

    如何向数据库群集写数据?

    对于实时性要求不高的,可以采取只向主数据库写数据,然后通过数据库自身提供的复制、镜像等技术实现主、从数据库之间数据同步。

    注意:这种方式,主、从数据库之间的数据同步是有延时的。

    对于实时性要求非常高的,中间件监控到准备执行:INSERTDELETEUPDATE 这种写数据事务,通过前面所说的中间件维护的一个数据库的配置列表,

    依次分别写数据到各数据库中,写的时候,要么都成功,要么都失败并回滚。

    如果是存储过程中有INSERTDELETEUPDATE 这种写数据事务,该如何办?

    除非能监控数据库的SQL日志了,否则很不好办。

  • 相关阅读:
    C/C++分别读取文件的一行
    (转载)C库函数strtok()
    (转载)C++常量折叠和C语言中const常量对比
    ssh
    ubuntu ufw
    uplevel
    ubuntu lucid source.list
    tail
    socket client with proc
    pack forget
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/7566619.html
Copyright © 2020-2023  润新知