社区将用户在了解学习开源项目时遇到的一些高频问题整理成 FAQ,分几篇发出。本篇为第一篇【FAQ | 认知篇】,希望您对该项目有一个整体的了解。
数据库容器化的技术可行性
关于 数据库是否适合部署在 Kubernetes 上?这个问题已经有了答案。以往对有状态服务不适合部署在 Kubernetes,数据库性能及安全性等疑问,都可以通过以下几篇文章从技术可行性的角度来得到解答。
业内文章参考
什么是 RadonDB MySQL Kubernetes?
RadonDB MySQL Kubernetes 是基于 MySQL 的开源、高可用、云原生集群解决方案。支持主备高可用架构,并具备安全、自动备份、监控告警、自动扩容等全套管理功能。
其实现了在 Kubernetes 、KubeSphere 和 Rancher 上安装部署和管理,自动执行与运行 MySQL 集群有关的任务。
简单的说:如果你需要一款在 Kubernetes 上运行的,并自带高可用的 MySQL Operator,那就请试试 RadonDB MySQL Kubernetes 吧!
核心功能
MySQL 高可用
无中心化自动选主
主备秒级切换
集群切换的数据强一致性
集群管理
监控告警
数据备份
日志管理
账户管理
架构图

了解更多:
高可用是如何实现的?
通过上面的介绍,我们得知 RadonDB MySQL Kubernetes 通过 Xenon 实现高可用功能。
Xenon [ˈziːnɒn] 是一款由 RadonDB 开源社区开源的 MySQL 集群高可用工具。基于 Raft 协议进行无中心化选主,实现主从秒级切换;基于 Semi-Sync 机制,保障数据不丢失,实现数据强一致性;并结合 MySQL(5.7 及以上版本)并行复制特性,实现 Binlog 并行回放,大大降低从库延迟。

结合架构图,可看出 Xenon 就是基于 Raft + Semi-Sync + GTID 实现的高可用,保证大多数节点接收到数据。
而 Raft 基于心跳管理,如果从节点超时收不到主节点的心跳,会尝试发起选举,若得到超过半数(非 IDLE 节点)的选票,则会当选为主节点。
了解更多:
版本信息及下载地址
1.x 版本直接由 Helm 包管理工具部署,目前已停止维护!
2.x 版本由 Operator 的方式实现并兼容 1.x 所有功能。
强烈建议使用 2.x 最新版本!!!
未来有哪些开发规划?
可用性
支持单节点及节点扩缩容
支持自动订正集群复制状态
支持读写分离代理及服务暴露
支持不参与选举的只读实例
支持在线数据迁移
支持创建远程灾备集群
完善 SSL 传输加密
可观测性
可维护性
RadonDB 的前世今生
社区还有很多朋友会直接将 RadonDB MySQL Kubernetes 称为 RadonDB,这里再对项目名称做一个说明。
RadonDB 原为青云科技于 2018 年开源的分布式数据库,其分布式组件 Radon 暂时停止维护。
目前 RadonDB 为社区品牌,不再特指某款数据库项目。社区主要的运营项目为:
RadonDB MySQL Kuberentes - MySQL 容器化
RadonDB PostgreSQL Operator - PostgreSQL 容器化
RadonDB ClickHouse Operator - ClickHouse 容器化
Xenon - MySQL 高可用组件
参考链接
1.《Kubernetes Operator 对数据库的重要性》:https://www.percona.com/blog/2020/10/08/the-criticality-of-a-kubernetes-operator-for-databases/
2.《TiDB on Kubernetes 最佳实践》:https://pingcap.com/zh/best-practice-detail/tidb-on-kubernetes-best-practice