文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

干货丨分布式数据库DDM Sidecar模式负载均衡

2018-01-31 06:14

关注


	干货丨分布式数据库DDM Sidecar模式负载均衡
[数据库教程]

技术图片

简介

01

分布式数据库中间件 DDM

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

02

MySQL Router

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

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

部署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 &

配置文件详解

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

技术图片

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

01

作为中心代理节使用

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

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


[DEFAULT]

logging_folder = /usr/local/mysqlrouter/log/

plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/

config_folder = /usr/local/mysqlrouter/etc/

runtime_folder = /usr/local/mysqlrouter/run/

[logger]

level = INFO

# 负载均衡配置

[routing:balancing]

# 绑定的IP地址

bind_address=0.0.0.0

# 监听的端口

bind_port = 7002

# 连接超时时间(秒)

connect_timeout = 3

# 最大连接数

max_connections = 100

# 后端服务器地址.默认读进行轮询

destinations = 192.168.4.235:5066,192.168.4.231:5066

# 路由策略

routing_strategy=round-robin

[keepalive]

interval = 60

连接示例:


[root@xxx ]# ./mysql -uddmtest -h128.11.2.2 -P7002 -p

Enter password:

mysql>

128.11.2.2为Mysql Router所在IP。

02

作为本地数据库代理使用

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

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


[DEFAULT]

logging_folder = /usr/local/mysqlrouter/log/

plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/

config_folder = /usr/local/mysqlrouter/etc/

runtime_folder = /usr/local/mysqlrouter/run/

[logger]

level = INFO

# 负载均衡配置

[routing:balancing]

# 绑定的IP地址

bind_address=127.0.0.1

# 监听的端口

bind_port = 7002

# 连接超时时间(秒)

connect_timeout = 3

# 最大连接数

max_connections = 100

# 后端服务器地址.默认读进行轮询

destinations = 192.168.4.235:5066,192.168.4.231:5066

# 路由策略

routing_strategy=round-robin

[keepalive]

interval = 60

连接示例:


[root@xxx ]# ./mysql -uddmtest -h127.0.0.1 -P7002 -p

Enter password:

mysql>

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

03

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

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

vi etc/mysqlrouter.conf


[DEFAULT]

logging_folder = /usr/local/mysqlrouter/log/

plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/

config_folder = /usr/local/mysqlrouter/etc/

runtime_folder = /usr/local/mysqlrouter/run/

[logger]

level = INFO

# 负载均衡配置

[routing:balancing]

# 绑定的IP端口

socket = /tmp/mysqlrouter.sock

# 连接超时时间(秒)

connect_timeout = 3

# 最大连接数

max_connections = 100

# 后端服务器地址.默认读进行轮询

destinations = 192.168.4.235:5066,192.168.4.231:5066

# 路由策略

routing_strategy=round-robin

[keepalive]

interval = 60

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

连接示例:


[root@xxx ]# ./mysql -uddmtest -p -S /tmp/mysqlrouter.sock

Enter password:

mysql>

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

干货丨分布式数据库DDM Sidecar模式负载均衡

原文地址:https://blog.51cto.com/15049785/2561534

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯