kingshard —— Go 开发的 MySQL Proxy 项目

    xiaoxiao2023-08-10  159

    kingshard简介

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

    主要功能:

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

    2 . sharding功能

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

    kinshard文档

    kingshard安装和使用

    [1.安装kingshard]

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

    [3.kingshard sharding介绍]

    [4.kingshard按时间分表功能介绍]

    [5.kingshard 快速入门]

    [6.管理端命令介绍]

    [7.kingshard SQL黑名单功能介绍]

    [8.kingshard的FAQ]

    kingshard架构与设计

    [1.kingshard架构设计和功能实现]

    [2.kingshard性能优化之网络篇]

    [3.kingshard性能测试报告]

    反馈kingshard开源以来,经过不断地迭代开发,功能较为完善,稳定性有较大提升。目前已有上十家公司在生产环境使用kingshard作为MySQL代理。

    文章转载自 开源中国社区 [http://www.oschina.net]

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)