MaxScale不支持maxadmin?| 权重? 路由模块!

不支持maxadmin

从 MariaDB MaxScale 2.5 开始,MaxAdmin 命令行工具已经被弃用,并在之后的版本中完全移除。因此,在 MaxScale 21.06(也就是 2.6 的长期支持版本)中,maxadmin 不再包含在 MaxScale 的默认安装中。

替代工具是 MaxCtrl,这是一个基于 REST API 的命令行工具,提供了更强的功能和灵活性,同时适合自动化脚本和现代化管理需求。

如何使用 MaxCtrl

  1. 确保 MaxCtrl 可用

    • MaxCtrl 是 MaxScale 的一部分,安装 MaxScale 时会自动包含它。
    • 使用 maxctrl 命令时,需要正确配置 REST API 的连接信息。
  2. 基础命令示例

    • 查看当前运行的服务:
      maxctrl list services
      
    • 检查路由器状态:
      maxctrl list listeners
      
    • 监控当前的服务器状态:
      maxctrl list servers
      
  3. 连接配置
    MaxCtrl 默认通过 8989 端口与 MaxScale REST API 通信。如果你在非默认端口或使用 HTTPS,你需要指定相关的选项。例如:

    maxctrl --host=127.0.0.1 --user=admin --password=admin_password list servers
    
  4. 帮助文档
    运行 maxctrl --help 可以获取所有可用命令和选项。

如果你有旧版 MaxScale 的管理需求,可以考虑安装旧版本(如 MaxScale 2.4)以继续使用 MaxAdmin,但建议迁移到 MaxCtrl 以获得更好的功能支持和性能优化。

services 和 servers

  1. 查看当前运行的服务

    maxctrl list services
    

    这个命令会显示所有服务及其当前的状态,例如服务的名称、类型、状态以及相关的路由器。

  2. 监控当前的服务器状态

    maxctrl list servers
    

    这个命令会列出所有已配置的后端服务器,显示服务器的名称、地址、端口、角色(主节点/从节点)、状态(运行中、宕机等)以及运行状态的详细信息。

两者区别

  • services:专注于 MaxScale 内部的服务,如读写分离服务或查询路由服务。
  • servers:监控 MaxScale 后端的数据库节点状态,例如它们是否在线、延迟等。

在这里插入图片描述

权重? 路由模块

在 MariaDB MaxScale 的新版本中,流量分发的逻辑有所改进,并且一些传统的权重配置被替代了更现代化的调度策略。以下是相关的更新和使用说明:


新版本流量分发的主要方式

  1. 基于查询路由模块
    流量分发的核心仍然依赖于配置的路由模块,比如:

    • readwritesplit(读写分离路由器)
    • readconnroute(简单的读路由器)
    • schemarouter(基于架构的路由)
  2. 动态策略调整
    路由器通过内部逻辑动态决定如何分发流量,而不是使用显式的权重值。


具体模块的流量分发逻辑

1. readwritesplit(读写分离模块)
  • 写请求:总是发送到主节点。
  • 读请求:通过以下策略分发到从节点:
    • 均匀负载:根据从节点的当前负载动态调整。
    • 响应时间:优先选择响应时间最快的节点。
    • 连接数:选择当前连接数较少的从节点。
配置示例
[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2,server3
user=my_user
password=my_password
router_options=master_accept_reads
2. readconnroute(只读路由模块)
  • 适合负载均衡的场景。
  • 将所有请求均匀分布到后端节点。
配置示例
[Read-Only Service]
type=service
router=readconnroute
servers=server1,server2,server3
user=my_user
password=my_password
router_options=balanced

为什么没有“权重”配置?

  1. 动态化管理
    MaxScale 的新设计目标是通过实时监控后端节点的性能指标(如延迟、连接数、健康状态),自动选择最佳节点,而不是依赖静态的权重值。

  2. 高可用性和灵活性
    静态权重在高动态环境中不够灵活,动态分配可以更好地适应节点状态的变化(如某节点短暂高负载或网络抖动)。


监控和调整策略

  1. 查看实时负载
    使用 MaxCtrl 查看每个节点的状态:

    maxctrl list servers
    
  2. 调整路由选项
    根据需要调整服务的 router_options 参数。例如:

    • 如果需要从节点支持读请求,可以设置 master_accept_reads
    • 优化读负载均衡可以使用 preferred_server

总结

权重的移除是为了更好地利用动态负载均衡。尽管无法手动设置静态权重,但通过合理的配置和实时监控,你可以实现类似甚至更优的效果。如果需要特定的流量分配逻辑,推荐根据场景选择合适的路由模块并微调参数。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值