数据库代理简介

最后更新时间:2021-08-31 14:18:10

    本文主要介绍云数据库 MySQL 数据库代理服务的特性、适用场景。

    数据库代理是位于云数据库服务和应用服务之间的网络代理服务,用于代理应用服务访问数据库时的所有请求。
    数据库代理访问地址独立于原有的数据库访问地址,通过数据库代理地址的请求,全部通过代理集群中转访问数据库的主从节点,进行读写分离,将读请求转发至只读实例,降低主库的负载。

    说明:

    数据库代理目前处于公测阶段,暂时免费使用。

    数据库代理特性

    • 高稳定性
      采用集群架构部署,多节点保证故障评估转移。
    • 强隔离性
      数据库代理使用独立资源为当前实例提供代理服务(各代理资源独立,不共享资源)。
    • 超高性能
      每个代理每秒最高可以处理10万左右的请求。
    • 扩容方便快捷
      支持1个 - 60个代理节点动态扩展(公测期间仅支持6个节点)。
    • 完备的性能监控
      提供了读/写请求数、CPU、内存等性能指标的秒级监控,可以根据 监控数据 及业务规划调整代理个数。
    • 热加载
      主实例发生切换、变配、只读实例增减等情况,数据库代理可动态热加载配置,不会出现网络中断或重启。
    • 支持 自动读写分离
      通过开启数据库代理的读写分离功能,可以有效降低主实例的读负载,通过添加只读实例来提供数据库集群的水平扩展能力,并且可以帮助用户实现自助读写分离,降低用户自行拆分业务读写请求的复杂度,尤其适合大量读负载的情况。
      例如,开通数据库代理的读写分离功能后,应用程序中只需配置一个代理连接地址,该地址会自动实现读写分离,将读请求发送至只读实例,将写请求发送至主实例。即使增加或删除只读实例,也无需调整应用程序的设置。

    适用场景

    • 大量短连接为主的业务,性能不足。
    • 业务使用多个只读实例,在应用程序侧手动读写分离,维护成本和风险较高。
    • 连接数过多导致实例负载过高。