mysql kingshard 扩容_mysql中间件之kingshard
kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,
致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。
kingshard的性能大约是直连MySQL性能的80%以上。
一.基础功能
支持SQL读写分离(已验证)
支持多个slave,slave之间通过权值进行负载均衡。(已验证)
支持SQL黑名单机制(已验证)
分表(已验证),kingshard支持按整数的hash和range分表,并且支持按日期的分表方式,
sharding(已验证)
sharding支持以下功能:
1.支持按整数的hash和range分表方式。
2.支持按年、月、日维度的时间分表方式。
3.支持跨节点分表,子表可以分布在不同的节点。
4.支持跨节点的count,sum,max和min等聚合函数。
5.支持单个分表的join操作,即支持分表和另一张不分表的join操作。
6.支持跨节点的order by,group by,limit等操作。
7.支持将sql发送到特定的节点执行。
8.支持在单个节点上执行事务,不支持跨多节点的分布式事务。
9.支持非事务方式更新(insert,delete,update,replace)多个node上的子表。
kingshard的性能测试。
影响kingshard性能的因素
1.客服端并发数。并发数过小,不能充分发挥kingshard的性能.具体多大的值合适需要压测。
2.max_conns_limit。 具体设置多大还跟硬件有关,需要压测,官方建议设置为128,根据官方的压测结果获得,
当设置为大于128的时候,性能上升不明显
官方压力测试报告:
kingshard 官方文档
golang环境的安装
yaml检测
kingshard的守护进程
nohup ./bin/kingshard -config=/etc/ks.yaml &
以下是配置文件样例
####### hash 分表 #######################
---
addr: "0.0.0.0:9696"
blacklist_sql_file: /home/dengwang/software/src/github.com/flike/blacksql/blacklist
log_level: debug
log_path: /home/dengwang/software/src/github.com/flike/kingshard/log
nodes:
-
down_after_noalive: 32
master: "mysql91:3306"
max_conns_limit: 64
name: node1
password: iwjw@2015
slave: "host55:3306@2,host51:3306@2"
user: root
password: kingshard
proxy_charset: gbk
schema:
db: test
default: node1
nodes:
- node1
shard:
-
key: tid
locations:
- 4
nodes:
- node1
table: tt
type: hash
user: kingshard
### range 分表 #####################################################################
---
addr: "0.0.0.0:9696"
blacklist_sql_file: /home/dengwang/software/src/github.com/flike/blacksql/blacklist
log_level: debug
log_path: /home/dengwang/software/src/github.com/flike/kingshard/log
nodes:
-
down_after_noalive: 32
master: "mysql91:3306"
max_conns_limit: 64
name: node1
password: iwjw@2015
slave: "host55:3306@2,host51:3306@2"
user: root
password: kingshard
proxy_charset: utf8
schema:
db: test
default: node1
nodes:
- node1
shard:
-
key: tid
locations:
- 4
nodes:
- node1
table: tt
type: range
table_row_limit: 1000
user: kingshard
############# 分表 中sharding
---
addr: "0.0.0.0:9696"
blacklist_sql_file: /home/dengwang/software/src/github.com/flike/blacksql/blacklist
log_level: debug
log_path: /home/dengwang/software/src/github.com/flike/kingshard/log
nodes:
-
down_after_noalive: 32
master: "host51:3306"
max_conns_limit: 64
name: node1
password: iwjw@2015
slave: "host52:3306"
user: root
-
down_after_noalive: 32
master: "host55:3306"
max_conns_limit: 64
name: node2
password: iwjw@2015
slave: "host56:3306"
user: root
-
down_after_noalive: 32
master: "host53:3306"
max_conns_limit: 64
name: node3
password: iwjw@2015
slave: "host53:3306"
user: root
password: kingshard
proxy_charset: utf8
schema:
db: test
default: node3
nodes:
- node1
- node2
- node3
shard:
-
key: tid
locations:
- 4
- 4
nodes:
- node1
- node2
table: tt
table_row_limit: 1000
type: range
user: kingshard
mysql kingshard 扩容_mysql中间件之kingshard相关推荐
- mysql双倍扩容_mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8
mysql扩展性架构实践N库到2N 库的扩容,2变4.4变8 http://geek.csdn.net/news/detail/52070 58同城 沈剑 http://www.99cankao.co ...
- mysql atlas路由_MySQL中间件 Atlas-1.0.3 安装记录
1.wget https://github.com/Qihoo360/Atlas/archive/1.0.3.tar.gz -o Atlas-1.0.3.tar.gz 2.tar zxvf Atlas ...
- mysql的扩容_MySQL的InnoDB的扩容
innodb_data_home_dir这是InnoDB表的目录共用设置.如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的 datadir 目录为缺省目录.如果设定一个空字串,可以 ...
- mysql kingshard 扩容_kingshard Go语言开发MySQL数据库中间件 - 新手站长网
kingshard是一个由Go开发高性能MySQL Proxy项目,新手站长网分享kingshard的主要功能.帮助文档.github地址.作者信息及kingshard交流群: kingshard简介 ...
- mysql kingshard 扩容_如何用Go打造一个高性能mysql proxy
kingshard架构设计和功能实现 kingshard(https://github.com/flike/kingshard)开源有一段时间了,有些热心的用户发邮件来咨询kingshard的设计和实 ...
- 【MySQL】Gaea 数据库中间件实现 MySQL 读写分离
声明: 以下内容是学习macro作者的文章,作者原创文章链接:你还在代码里做读写分离么,试试这个中间件吧! 下面夹杂了我自己运行过程中的错误与心得,能运行成功 传统的MySql读写分离方案是通过在代码 ...
- mysql fa连接池中间件_小米开源数据库中间件gaea
简介 Gaea是小米商城/系统组研发的基于 mysql 协议的 数据库 中间件,目前在小米商城大陆和海外得到广泛使用,包括订单.社区.活动等多个业务.Gaea支持分库分表.sql路由.读写分离.连接池 ...
- Gaea:小米基于 MySQL 协议的数据库中间件
项目介绍 Gaea 是小米商城/系统组研发的基于 MySQL 协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单.社区.活动等多个业务. Gaea 支持分库分表.sql 路由.读写分离 ...
- 【分布式mysql分库分表中间件sharding】
分布式mysql分库分表中间件,sharding领域的一站式解决方案.具备丰富.灵活的路由算法支持,能够方便DBA实现库的水平扩容和降低数据迁移成本.shark采用应用集成架构,放弃通用性,只为换取更 ...
最新文章
- 当物联网实时工作时,城市才是“智能”的
- Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount
- 圆环自带动画进度条ColorfulRingProgressView
- 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt
- 小程序点击事件改变样式(普通js鼠标点击事件)
- discuz 不能上传头像提示can not write to the data/tmp folder
- 大佬教你如何写出更好的CSS,分享web前端资料
- python程序打包成exe(使用pyinstaller)
- 分贝噪音测试软件文件存储,手机分贝噪音测试软件
- Drupal主题制作流程
- iphone换android手机铃声,iPhone6s怎么更换手机铃声 iPhone苹果6s更换铃声教程
- Flash 第二篇 AS影片剪辑
- 宇枫资本如何挑选靠谱理财平台
- 网页头部的声明怎么写?
- 手机应用游戏开发死机现场之一
- 36岁的it一线运维是不是废了_35以上IT人咋活?给你三个真实的案例
- 夕阳红旅游团第四周报告
- 【专业的项目管理工具】Curio for Mac 13.0
- MacAppStore的魅力4点
- windows通过Sakura Frp内网穿透实现远程控制
热门文章
- 今天收到了学校给出的退学警告
- 关于nginx rewrtie的四种flag
- Office365 用户同步排错思路
- hbase shell命令扩展(转自http://www.netfoucs.com/cuirong1986/article/details/7986900)
- JS正则表达式元字符
- Flex/Flash Builder里实用但被忽略的编译参数
- final ListURL jars = new LinkedListURL();
- 如何正确的选择适合自己的WEB报表工具
- IE自动在后台运行,不知道是什么病毒?
- python3 文件 复制、重命名、移动、删除