kingshard 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
kingshard 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: Google Go 查看源码 »
操作系统: 跨平台
收录时间: 2015-07-23
提 交 者: flikecn

kingshard 是一个由 Go 开发高性能 MySQL Proxy 项目,kingshard 在满足基本的读写分离的功能上,致力于简化 MySQL 分库分表操作;能够让 DBA 通过 kingshard 轻松平滑地实现 MySQL 数据库扩容。

kingshard 的性能是直连 MySQL 性能的 80% 以上。

主要功能:

1. 基础功能

  • 支持SQL读写分离。
  • 支持透明的MySQL连接池,不必每次新建连接。
  • 支持平滑上线DB或下线DB,前端应用无感知。
  • 支持多个slave,slave之间通过权值进行负载均衡。
  • 支持强制读主库。
  • 支持主流语言(java,php,python,C/C++,Go)SDK的mysql的prepare特性。
  • 支持到后端DB的最大连接数限制。
  • 支持SQL日志及慢日志输出。
  • 支持SQL黑名单机制。
  • 支持客户端IP访问白名单机制,只有白名单中的IP才能访问kingshard(支持IP 段)。
  • 支持字符集设置。
  • 支持last_insert_id功能。
  • 支持热加载配置文件,动态修改kingshard配置项(具体参考管理端命令)。
  • 支持以Web API调用的方式管理kingshard。
  • 支持多用户模式,不同用户之间的表是权限隔离的,互补感知。

2. sharding功能

  • 支持按整数的hash和range分表方式。
  • 支持按年、月、日维度的时间分表方式。
  • 支持跨节点分表,子表可以分布在不同的节点。
  • 支持跨节点的count,sum,max和min等聚合函数。
  • 支持单个分表的join操作,即支持分表和另一张不分表的join操作。
  • 支持跨节点的order by,group by,limit等操作。
  • 支持将sql发送到特定的节点执行。
  • 支持在单个节点上执行事务,不支持跨多节点的分布式事务。
  • 支持非事务方式更新(insert,delete,update,replace)多个node上的子表。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

kingshard 的相关资讯

还没有任何资讯

kingshard 的相关博客

KingShard使用

对于kingshard的功能,在git中可以看到明确的功能说明 主要功能: 1. 基础功能 支持SQL读写分离。 支持透明的MySQL连接池,不...

使用kingshard遇到的坑

禁止用mysqldump 连接kingshard, 会导致表锁死 读取NULL值变为文本 通过kingshard连接 select出来的null值变为文本"NULL" ki...

kingshard最佳实践(一)

一、kingshard简介 kingshard是一个Go开发的mysql中间件,可以实现读写分离、分库分表、连接池等功能 1.1 kingshard工作流程 ...

kingshard最佳实践(二)

上篇主要介绍了kingshard的工作流程、搭建及部分功能测试,今天来测试一下kingshard对sharding的支持 一、kingshard的shardin...

4.MySQL读写分离中间件-kingshard搭建

1.kingshard简介 2. 安装Go语言环境 2.1 下载源码包 2.2. 解压到指定目录下 2.3. 更新环境变量 2.4. 查看go的版本信息 3.安装...

Linux安装supervisor工具-管理kingshard

1.前言 2.安装 2.1 安装Python 2.2 安装supervisor 2.3 编辑配置文件 2.3.1 生成配置文件 2.3.2 配置supervisord.conf 3.管理...

一个高性能的MySQL proxy(kingshard)的性能测试报告

之前的几篇blog,给大家分享的都是kingshard(https://github.com/flike/kingshard )的架构与设计。其实很多人对kingshard的性...

Go语言项目(kingshard)性能优化实例剖析

最近kingshard的功能开发节奏慢了许多。一方面是工作确实比较忙,另一方面是我觉得kingshard的功能已经比较完善了,下一步的开...

如何利用一个数据库中间件扩展MySQL集群——kingshard使用指南

上次写了一篇有关kingshard架构设计的文章,得到了很多热心网友的关注。其中有网友提到:希望再写一篇关于如何利用kingshard搭...

如何用Go语言打造一个高性能MySQL Proxy

kingshard开源有一段时间了,有些热心的用户发邮件来咨询kingshard的设计和实现问题。于是周末抽空写了一篇介绍kingshard架构...

kingshard 的相关问答

评论 (3)

加载中
忍不住上来https://gitee.com/sgoby/myhub #myhub# 抄袭 #kingshard# 太明显了,作者还是不要秀智商了
2018/08/11 12:38
回复
举报
其实MYSQL中间件,用哪个语言并不重要吧。。 #kingshard#
2015/07/28 11:58
回复
举报
y有没有ms sqlserver的proxy? #kingshard#
2015/07/28 23:37
回复
举报
2015/07/30 21:30
回复
举报
更多评论
3 评论
149 收藏
分享
返回顶部
顶部