programing

최대 크기 readwritesplit에 동일한 연결 수가 표시됨

javaba 2022. 10. 27. 23:38
반응형

최대 크기 readwritesplit에 동일한 연결 수가 표시됨

Maxscale을 ReadWriteSplit으로 설정했지만 Galera 클러스터(3노드)에 마스터할 읽기 없음(기본값)으로 설정했습니다.

#
# Global configuration
#

[maxscale]
threads=auto
local_address=10.1.0.11
query_retries=2

#
# Servers
#

[sql1]
type=server
address=10.1.0.2
port=3306
protocol=MariaDBBackend
persistpoolmax=16
persistmaxtime=300s
priority=1
ssl=required
ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
ssl_cert=/var/lib/maxscale/ssl/client.pem
ssl_key=/var/lib/maxscale/ssl/client.key

[sql2]
type=server
address=10.1.0.3
port=3306
protocol=MariaDBBackend
persistpoolmax=16
persistmaxtime=300s
priority=2
ssl=required
ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
ssl_cert=/var/lib/maxscale/ssl/client.pem
ssl_key=/var/lib/maxscale/ssl/client.key

[sql3]
type=server
address=10.1.0.4
port=3306
protocol=MariaDBBackend
persistpoolmax=16
persistmaxtime=300s
priority=3
ssl=required
ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
ssl_cert=/var/lib/maxscale/ssl/client.pem
ssl_key=/var/lib/maxscale/ssl/client.key

#
# Monitor
#

[monitor]
type=monitor
module=galeramon
servers=sql1,sql2,sql3
user=maxscale
password=324F7B3BE796AD5F4BB2FAD65E1F9052A976701742729400
available_when_donor=true
use_priority=true

#
# Listeners
#

[listener-rw]
type=listener
service=readwritesplit
protocol=MariaDBClient
address=10.1.0.1
port=3306
ssl=required
ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
ssl_cert=/var/lib/maxscale/ssl/server.pem
ssl_key=/var/lib/maxscale/ssl/server.key

#
# Services
#

[readwritesplit]
type=service
router=readwritesplit
servers=sql1,sql2,sql3
user=maxscale
password=324F74A347291B3BE79956AD5F4BB917701742729400
enable_root_user=1
max_sescmd_history=150

loader.io을 사용하여 몇 가지 읽기 쿼리를 테스트하는 동안 항상 모든 노드에서 동일한 수의 연결을 사용할 수 있습니다.

 > maxctrl list servers
┌────────┬───────────┬──────┬─────────────┬─────────────────────────┬───────────────────────────────┐
│ Server │ Address   │ Port │ Connections │ State                   │ GTID                          │
├────────┼───────────┼──────┼─────────────┼─────────────────────────┼───────────────────────────────┤
│ sql1   │ 10.1.0.2  │ 3306 │ 87          │ Master, Synced, Running │ 0-1-12474939,1-1-148225,2-2-2 │
├────────┼───────────┼──────┼─────────────┼─────────────────────────┼───────────────────────────────┤
│ sql2   │ 10.1.0.3  │ 3306 │ 87          │ Slave, Synced, Running  │ 0-2-410,2-2-2                 │
├────────┼───────────┼──────┼─────────────┼─────────────────────────┼───────────────────────────────┤
│ sql3   │ 10.1.0.4  │ 3306 │ 87          │ Slave, Synced, Running  │ 2-2-2                         │
└────────┴───────────┴──────┴─────────────┴─────────────────────────┴───────────────────────────────┘

노드 2와 노드 3(슬레이브)에서는 접속 수가 많고 노드 1에서는 접속 수가 느릴 것으로 예상해야 하지 않습니까?

기본적으로는 readwritesplit은 모든 노드에 대한 연결을 만듭니다.정의해야 합니다.max_slave_connections=1하나의 슬레이브 연결만 만들 수 있습니다.

언급URL : https://stackoverflow.com/questions/64636678/maxscale-readwritesplit-show-the-same-number-of-connections

반응형