xSky 实验室关注高性能计算,分布式系统/存储,大数据/机器学习/WebRTC
目录
  • 首页
  • 技术相关
  • 原创作品
  • 人工智能/机器学习
  • 系统与架构
  • 数据库/数据分析
  • 分布式系统/存储
  • 服务端开发
  • WEBRTC研究
  • 开发调试
  • 网络与安全
  • 常用工具
  • 杂七杂八

xSkyProxy-新型MySQL代理网关

2014-04-08 07:47:38

xSkyProxy是什么?

xSkyProxy 是一个处于你的client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。主要功能包括:负载平衡,故障、查询分析,查询过滤和修改等等。

简单的说,xSkyProxy 就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且按照用户自定义配置的分库分表规则, 可以实现复杂的SQL路由,达到数据分库分表存储的目的; 同时也能根据用户MYSQL主从库配置信息,对读写SQL自动识别与路由, 从而实现读写分离和负载平衡。

对于应用来说,xSkyProxy 是完全透明的,应用则只需要连接到 xSkyProxy 的监听端口即可。当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器做为冗余,在应用服务器的连接池配置中配置到多个proxy的连接参数即可。

xSkyProxy是一个简单易用的MYSQL代理程序,提供mysql数据分库分表,连接池,主从读写分离等功能。 xSkyProxy 开源社区群 302102856

  • 功能与特性
    • 1.多模式运行:Mysql数据代理转发或是分库分表
    • 2.按自定义规则进行分库分表与SQL改写
    • 3.自动读写分离, 支持MySQL一主多从
    • 4.自动负载均衡
    • 5.支持到每个分片库的连接池
    • 6.强大的Web管理后台

xSkyProxy 的 Sharding 架构

mahua

xSkyProxy 中的分库分表概念

在 xSkyProxy 中,一个表可以分库后存储在多个mysqlDB中,每个DB中可以包含多个mysql数据表; mysql数据表是数据存储的单位, 一个表的路由是由 database.tabname 组成。 一个逻辑表可以分片到多个database里, 每个DB里由一个或是多个分表组成; 这些分片的 DB可以存储在一个或是多个MYSQL实例里,每个DB可以的有0个或者多个slave。

xSkyProxy内置的分库分表算法

todo

xSkyProxy数据切分策略

xSkyProxy自带多种常见分库分表算法(取模/按时间/按范围/等) 也支持运行时从外部SO加载自定义的分库分表算法。

xSkyProxy中MYSQL语句与语法的有限支持

xSkyProxy 目前只支持 select/delete/update/insert/replace 语句(经过测试,别的语句可能也支持但未经测试过);

xSkyProxy中关于事务支持

xSkyProxy 目前不支持分布式事务。因为数据被分库分表的原因,如果需要事务功能,只能支持数据都在同一个库里的事务。 此需求可以对数据都在同一个库里时用存储过程里采用事务实现。

xSkyProxy 中数据库的节点扩展与负载均衡

xSkyProxy 的分库分表功能支持数据分布在同一个库的多个表里,也支持分布在多个库的多个表里;采用分库的方式在数据量大时可以很容易的做到迁移数据降低负载,只需要把分库迁移到新的MYSQL实例上,同时修改连接表里对应新库对应的主机连接信息。

xSkyProxy 管理后台与性能监控

xSkyProxy 提供web后台对配置信息进行管理,同时后台也可以查看 xSkyProxy进程内部运行状态与统计信息。 后台demo

xSkyProxy 与 mysqlproxy

xSkyProxy 不是基于mysqlproxy的修改版. 程序主要框架用C++开发,基于libevent, 语法分析Flex.

有问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

  • 邮件(guozhw#gmail.com, 把#换成@)
  • xSkyProxy 社区QQ群 302102856

xSkyProxy官方网站:http://xskyproxy.0xsky.com
xSkyProxy 开源社区QQ群 302102856
测试环境管理后台: http://yun.0xsky.com:8000

By:xSky | 原创作品 |

  • 分类目录

    • 技术相关 (34)
    • 原创作品 (13)
    • 人工智能/机器学习 (6)
    • 系统与架构 (9)
    • 数据库/数据分析 (11)
    • 分布式系统/存储 (4)
    • 服务端开发 (7)
    • WEBRTC研究 (7)
    • 开发调试 (7)
    • 网络与安全 (9)
    • 常用工具 (9)
    • 杂七杂八 (6)
  • 最新文章

    • WSL从C盘迁移到其他盘区
    • 赵何娟:中国AI追随之路的五大误区,我们至少落后十年
    • zap  发送日志到 websocket
    • QUIC(隐藏的)超能力
    • MYSQL 生成日期/时间序列总结
    • Linux bash终端设置代理(proxy)访问
    • centos 下 yum安装python3
    • 使用SQL查询Milvus 向量数据库
    • 浅谈 MySQL 新的身份验证插件 caching_sha2_password
    • Milvus v2.2.1 开源向量搜索引擎使用教程
    • 部署了一个SRS的demo
    • Dockerfile 详解
    • Docker常用命令
    • Tus文件上传协议
    • 编译运行Milvus
    • MinIO 快速入门
    • ESP32
    • Prometheus监控报警系统搭建
    • go语言JSON字典模拟
    • go语言的sql解析器
    • Grafana配置数据源,自定义查询语法
    • TDengine + Telegraf + Grafana
    • gRPC-Gateway 返回JSON数据int64类型被转为string类型问题
    • LLAMA模型试玩
    • 语音识别的一些开源项目整理
    • 使用MYSQL8进行统计分析
    • 记录FFmpeg抽帧、合流、转码、加水印等操作
    • 移动网络弱网处理研究
    • 翻译:使用 Semgrep 进行热点代码评审
    • 共享内存并发路线图
  • 链接

    • xSky的Blog
    • 我的Github
    • 实时监控图表
    • 预印本
    • xRedis 在线文档
    • xSkyProxy
    • xChart 数据在线测试
    • 我的电子书
    • xChart 数据可视化系统
    • 树莓派技术圈
    • WebRTC开发者社区
  • 开源项目

    • xReis C++的redis客户端库
    • xBlog-C++ 博客程序
    • xSkyProxy-新型MySQL代理网关
    • 数据可视化平台- xChart
    • xhttpcache 高速数据缓存服务
    • xMonitor-图形监测工具
    • 网址收集

Powered By xBlog

Copyright 2010~2024 0xsky.com All Rights Reserved.