Cetus 调研

2018-11-13  本文已影响0人  单车变摩托_0463

简介

Cetus是由C语言开发的MySQL的中间件,主要提供了一个全面的数据库访问代理功能。Cetus连接方式与MySQL基本兼容,应用程序几乎不用修改即可通过Cetus访问数据库,实现了数据库层的水平扩展和高可用。

关键特性

针对我们关心的问题,详细说明

Cetus不能做哪些事

举例一些配置

Cetus 共3个配置文件,包括用户配置文件(users.json)、变量处理配置文件(variables.json)和启动配置文件(proxy.conf)

users.json

用来配置用户登陆信息

{
    "users":[
        {
            "user": "XXXX",
            "client_pwd":   "XXXXXX",
            "server_pwd":   "XXXXXX"}, 
            {
            "user": "XXXX",
            "client_pwd":   "XXXXXX",
            "server_pwd":   "XXXXXX"
        }
    ]
}

variables.json

用来支持会话级系统变量的设置,可以通过在variables.json配置允许发送的值和静默处理的值

{
 "variables": [
   {
     "name": "sql_mode", # 会话级系统变量的名称
     "type": "string-csv", # 变量的类型,可以为string或string-csv逗号分隔的字符串值
     "allowed_values": # 指定允许设定的变量值,可以使用通配符*表示此变量设任意值都允许
     ["STRICT_TRANS_TABLES",
       "NO_AUTO_CREATE_USER",
       "NO_ENGINE_SUBSTITUTION"
     ]
   },
   {
     "name": "connect_timeout",
     "type": "string",
     "allowed_values": ["*"],
     "silent_values": ["10", "100"] # silent_values的值是指定静默处理的值,可以使用通配符*
   }
 ]
}

proxy.conf

[cetus]
# Loaded Plugins
plugins=proxy,admin #加载的插件,读写分离插件、管理插件

# Defines the number of worker processes. 
worker-processes=4 # 工作进程数量为4

# Proxy Configuration
proxy-address=127.0.0.1:1234 # 客户端访问地址
proxy-backend-addresses=127.0.0.1:3306 # 读写(主库)节点,可配置多个,可配置dns
proxy-read-only-backend-addresses=127.0.0.1:3307 #只读节点,可配置多个,可配置dns

# Admin Configuration 管理模块的配置
admin-address=127.0.0.1:5678
admin-username=admin
admin-password=admin

# Backend Configuration
default-db=test # 默认数据库,当连接未指定db时,使用的默认数据库名称
default-username=dbtest # 默认登陆用户名,在Proxy启动时自动创建连接使用的用户名

# File and Log Configuration
log-file=cetus.log
log-level=debug

读写分离

proxy-address=192.168.222.175:13306
proxy-backend-addresses=192.168.222.172:3306 
proxy-read-only-backend-addresses=192.168.222.173:3306,192.168.222.174:3306 
上一篇 下一篇

猜你喜欢

热点阅读