zoukankan      html  css  js  c++  java
  • 分布式数据库DDM Sidecar模式负载均衡

    1 简介

    分布式数据库中间件 DDM

    分布式数据库中间件(Distributed Database Middleware)是解决数据库容量、性能瓶颈和分布式扩展问题的中间件服务,提供分库分表、读写分离、弹性扩容等能力,应对海量数据的高并发访问场景,有效提升数据库读写性能。

    MySQL Router

    mysql-router是mysql官方的轻量级的中间件,用于取代MySQL Proxy应用程序像访问MySQL一样访问MySQL Router,由MySQL Router将数据转发给后端的DDM节点,实现Sidecar模式负载均衡。

    Sidecar模式是一种从应用程序本身剥离应用程序功能作为单独进程的方法。此模式允许我们向应用无侵入添加多种功能,从而无需向应用程序添加其他配置代码。建议MySQL Router与应用程序部署在同一台机器做Sidecar模式负载均衡,相对于服务端形式的负载均衡,Sidecar模式实现负载均衡可以缩短调用链路,减少服务端中心节点的压力,去中心化,使用更加可靠更加高效。

    参考资料:

    分布式数据(DDM)

    https://www.huaweicloud.com/product/ddm.html

    MySQL Router文档

    https://dev.mysql.com/doc/mysql-router/8.0/en/

    https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.html

    mysql-router-8.0.11-linux-glibc2.12-x86-64bit.tar.gz

    2 部署Mysql-Router服务

    # 解压安装程序文件

    tar -xzvf mysql-router-8.0.11-linux-glibc2.12-x86-64bit.tar.gz

    # 重命名安装文件夹

    mv mysql-router-8.0.11-linux-glibc2.12-x86-64bit /usr/local/mysqlrouter

    # 创建日志和配置相关文件存放目录

    cd /usr/local/mysqlrouter

    mkdir logs

    mkdir etc

    # 利用模板文件创建配置文件

    cp /usr/local/mysqlrouter/share/doc/mysqlrouter/sample_mysqlrouter.conf ./etc/mysqlrouter.conf

    # 启动 mysql router

    /usr/local/mysqlrouter/bin/mysqlrouter -c /usr/local/mysqlrouter/etc/mysqlrouter.conf &

    3 配置文件详解

    首先,获取DDM连接串,如下图所示

    下面详细介绍mysql-router三种配置方式:

    I、作为中心代理节使用

    mysql-router绑定IP不限制,即监听所有ip,任意节点都可以访问,作为数据库访问代理,轮询DDM各个节点。其中,destinations为上文获得的DDM连接串。

    vi /usr/local/mysqlrouter/etc/mysqlrouter.conf

    连接示例:

    128.11.2.2为Mysql Router所在IP

    II、作为本地数据库代理使用

    mysql-router绑定本地地址127.0.0.1,作为本地数据库访问代理,仅允许当前节点访问数据库。其要求需要访问数据库的应用与router部署在同一节点,更安全可靠。

    vi /usr/local/mysqlrouter/etc/mysqlrouter.conf

    连接示例:

    mysql客户端与Mysql Router在同一节点。

    III、作为本地数据库代理,使用Unix sockets连接(推荐)

    mysql-router不绑定ip和端口,只使用Unix sockets连接,这样可以不经过tcp协议转发数据,只走操作系统socket通道,更加高效。其同样要求需要访问数据库的应用与router部署在同一节点,但是安全可靠,且高效。

    vi etc/mysqlrouter.conf

    其中,destinations为上文获得的DDM连接串

    连接示例

    mysql客户端与Mysql Router在同一节点。

    来源:华为云社区 作者:勤劳的星星

  • 相关阅读:
    Codeforces 651 A. Joysticks
    Codeforces 538 C. Tourist's Notes
    Codeforces 538 B. Quasi Binary
    Codeforces 538 A. Cutting Banner-substr()函数字符串拼接
    Codeforces 626 C. Block Towers-二分 (8VC Venture Cup 2016-Elimination Round)
    Codeforces 626 B. Cards (8VC Venture Cup 2016-Elimination Round)
    hdu 4825 Xor Sum trie树
    Codeforces Round #358 (Div. 2) C. Alyona and the Tree dfs
    Codeforces Round #357 (Div. 2) 优先队列+模拟
    2016 湘潭邀请赛
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165936.html
Copyright © 2011-2022 走看看