ShardingSphere + Database Mesh 爱奇艺的云上数据治理实践(2)
ShardingSphere

当业务接入数据治理平台时,通过申请相关的连接配置,在经过转化和访问信息通过 KMS 加密后存储进统一配置存储中心;当应用启动时,通过改进过后的 ShardingSphere-JDBC 拉取配置并监听配置变更以支持配置热更新。
在改进之前,如果遇到修改配置、Sharding 集群扩容、集群版本升级、数据库迁移和上云等场景时,往往需要针对业务服务进行重新发版,并且业务方需针对相关场景设计如切换和回滚、选择时间点、流量灰度以及数据校对等复杂操作流程。
改进后,对于配置中新增或修改分表配置,定制化的 ShardingSphere-JDBC能够对 Sharding 集群的扩缩容或改绑起到很好的支持作用。通过在配置中心白屏操作修改配置或绑定集群,主动选择配置重新加载时机,当 SDK 端接收到最新配置,会使用异步任务进行老连接池的关闭并替换现有连接池,做到读写流量的平滑迁移, 大大降低了相关数据治理能力平滑迁移至云上环境的难度。
在爱奇艺的规划中,未来规划通过接入 Database Mesh 并引入 Pisanix-Proxy,进一步将数据治理能力从 SDK 下沉到 Sidecar 中。

在流量入口层,随着云原生应用微服务化、Serverless 化,用户需要面对复杂路由规则可配置、支持多种应用层协议、服务访问的安全性以及流量的可观测性等诉求。关于这部分,爱奇艺最早是通过中间件统一管理 Redis 和 MySQL。

除此以外,为了更好支持爱奇艺的混合云部署方案,SmartJedis 支持了统一配置中心,在统一的配置中心中动态支持不同环境下的配置,在非网格环境中使用直连的方式,在网格环境中使用 Envoy 中的 RedisProxy 管理 Redis 协议流量并支持连接配置的热更新,避免了 Redis 上云后需要业务重新发版的问题。
在 MySQL 部分,爱奇艺研发团队测试了 Database Mesh 的具体实践–Pisanix。Pisanix 由 Go 及 Rust 编写,适配 Kubernetes 环境,目前已支持 MySQL 协议。其主要包括 Pisa-Controller、Pisa-Proxy 和 Pisa-Daemon 三个组件,为用户应用提供『本地即数据库』的访问体验,实现支持多协议的可插拔架构、屏蔽真实数据源状态,为数据运维人员提供统一的数据库流量管控能力。
目前爱奇艺在系统仍然是基于 ShardingSphere-JDBC 来支持 Java 应用,未来 Pisanix 在爱奇艺的系统中得到进一步落地后,爱奇艺将通过 Pisanix 实现标准化的数据库自动维护体验,并通过支撑多语言应用来完成多种数据库治理行为的云原生编排。另外借助各种 Database Mesh 的标准 CustomResourceDefinition,比如统一的数据库接入声明配置、可编程的数据库访问资源限制等,爱奇艺也将能够快速实现云原生数据库的治理编排。
相关阅读
-
真我gtneo三星屏 真我gtneo3是曲面屏吗
为大家分享真我gtneo3是曲面屏吗的教程内容,真我gtneo3不是曲面屏,是采用直面屏设计,配置6.7英寸OLED屏,支持120Hz刷新率和360Hz触控采样率。
-
电脑店装机教程图解 组装一台电脑配置清单
今日重点为您介绍电脑店装机教程图解和组装一台电脑配置清单IT技巧方面的经验,一起来看看吧! 今天分享一篇干货内容,大家一起学习一下组装电脑上我们常常会忽略掉的一些问题? 本文
-
微信头像怎么有国旗 微信头像设置国旗怎么弄
IT电脑小知识篇,关于微信头像设置国旗怎么弄方面的内容,微信头像设置国旗需要先制作国旗头像,然后在微信中更换头像即可。具体步骤如下:
-
epic登不进 epic登录不上解决教程
关于这个epic登录不上解决教程方面的介绍,关于epic登不进 epic登录不上解决教程,接下来小编为网友介绍。 epic是款受到不少的IT袋用户喜爱的游戏平台,甚至还影响了很多其他的游戏爱好者的


