kingshard Go语言开发的高性能MySQL Proxy项目

kingshard Go语言开发MySQL数据库中间件,码笔记分享kingshard的主要功能、帮助文档、github地址、作者信息及kingshard交流群:

kingshard简介

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

kingshard主要功能

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上的子表;
  • kingshard安装和使用

    1.安装kingshard
    2.如何利用一个数据库中间件扩展MySQL集群——kingshard使用指南
    3.kingshard sharding介绍
    4.kingshard按时间分表功能介绍
    5.kingshard 快速入门
    6.管理端命令介绍
    7.管理端Web API接口介绍
    8.kingshard SQL黑名单功能介绍
    9.kingshard的FAQ
    10.kingshard SQL支持范围
    11.如何配合LVS实现集群部署
    12.Kinghshard接入prometheus

    kingshard架构与设计

    1.kingshard架构设计和功能实现
    2.kingshard性能优化之网络篇
    3.kingshard性能测试报告

    kingshard作者

    作者:flike

    kingshard交流群

    QQ群:147926796

    kingshard

    github:https://github.com/flike/kingshard
    码云:https://gitee.com/flikecn/kingshard

    2024年云服务器租用优惠价格,11月最新: