zoukankan      html  css  js  c++  java
  • 用中间件实现读负载均衡的数据库群集

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

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

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

    读负载均衡如何实现?

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    CentOS8下安装mysql8
    Git使用
    《操作系统导论》读书笔记
    《Linux命令行大全》读书笔记
    Centos8 开机后显示 Activate the web console with: systemctl enable --now cockpit.socke
    numpy学习笔记
    CentOS8使用阿里源
    Python 面向对象
    matplotlib解决不显示中文问题
    MySQL基础第三课
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/7566619.html
Copyright © 2011-2022 走看看