当前位置: 首页 > news >正文

金融行业专题|某头部期货基于 K8s 原生存储构建自服务数据库云平台

为了进一步提升资源交付效率,不少用户都将数据库应用从物理环境迁移到容器环境。而对于 Kubernetes 部署环境,用户不仅需要考虑数据库在性能方面的需求,还要为数据存储提供更安全、可靠的高可用保障。

近期,某头部期货机构基于 SmartX Kubernetes 原生存储 IOMesh 和某国产 RDS 数据库云平台,构建了自服务的云原生数据服务平台,满足应用需求高效交付的同时,以多副本数据保护机制提升了整体架构的可靠性和可用性。自服务的数据库云平台如何建设?支持数据库云平台的存储如何选型?我们将通过下文详细分享。

下载电子书《Kubernetes 持久化存储方案选择:从入门到评估》,深入了解云原生存储解决方案选型与实践

实践背景

某头部期货机构 IT 系统正逐步从传统架构向虚拟化、云原生、微服务、分布式的架构演进。基础架构团队作为核心支撑层需要及时响应业务团队需求,快速提供所需资源并保证系统的稳定和可靠性。目前,通过交付容器资源,期货机构已经完成大量的业务应用容器化部署,满足大部分无状态业务应用需求。但是对于数据库类有状态应用的交付始终无法满足业务场景的需求:

  • 资源申请效率低:业务团队每次申请数据类服务资源都需要描述需求,两个团队在需求处理过程中涉及大量重复性沟通工作,效率低。
  • 资源交付慢:通常采用物理机部署的形式来为某个业务应用提供数据服务,比如:达梦数据库(1 主 1 备)和 MySQL 数据库(1 主 1 备 1 从)。基础架构团队每次都需要部署物理机,且每一套系统都需要考虑容灾备份的需求,工作量极大,资源交付速度很慢,通常是以“天”为单位。
  • 资源利用率低:每一个业务应用都需要一套独立的数据库,每个数据库集群利用率不同,无法合理利用同一套硬件资源,造成明显的资源浪费;同时如果有新的业务应用需要数据服务,由于硬件资源紧缺,势必会进一步降低资源交付速度,形成负向循环。

为了满足不同业务应用的数据服务需求,提升资源申请效率和资源交付速度,期货机构决定以 Kubernetes 集群为底座构建数据库自服务云平台,使得业务团队可以通过此平台的图形化界面自助申请所需要的数据库服务。虽然用户在云原生领域积累了很多经验,但是“数据库上容器”对于他们来说也是一次比较大胆的尝试,尤其是在存储支持层面存在很多挑战:

  1. 数据库的虚拟机和容器化的部署方式有很大差异,如何在 Kubernetes 中快速部署生产级别高可用的数据库集群?
  2. 不同的存储引擎该如何实现统一管理?
  3. 如何在存储层面提升数据冗余性保障数据存储安全,实现数据的双保险? 即使业务团队创建了一个单节点的数据库集群,数据库节点出问题后存储层面也需要能够保证数据安全性。
  4. 存储层面如何实现较高的性能来满足未来更多核心应用的需求?
  5. 数据库和存储如何无缝融合并提升团队的运维效率?
  6. 方案还需符合信创要求。

基于此,该期货机构的基础架构团队计划对支撑数据库自服务云平台的存储方案进行选型和评测。

存储选型:多种方案评估与性能实测

数据库平台

期货机构使用的数据库平台为某国产 RDS 数据库云平台(以下简称“RDS”)。该平台基于 Kubernetes 云原生技术,提供 Oracle、MySQL、达梦等主流数据库服务。

存储

在存储方面,期货机构原有 3 种可供选择的方案,但都存在一些弊端:

传统方案:以 RDS 数据库对接既有分布式存储集群和集中式存储集群。但该方案由于性能低、成本高、运维效率低等问题,在首轮评估时遭到放弃。

新兴方案:

  • 使用开源云原生存储:该方案缺乏核心生产环境的长时间使用验证,同时存储核心并非基于自研技术,用户不敢直接拿来承载自服务数据库平台。
  • 使用本地存储 LocalPV:数据冗余保护能力不足,运维较为复杂,但性能高,可满足数据库场景需求。

现有方案中,LocalPV 性能很好,但是数据冗余性很低,有很大的数据安全风险。此时用户面临了一个性能与数据安全性的矛盾,期望找到一款既能满足数据安全性,同时性能也可以接近 LocalPV 的存储产品。

在对多种企业级云原生存储方案进行调研的过程中,用户了解到 SmartX 推出的 Kubernetes 原生分布式存储 IOMesh。IOMesh 是具备云原生特征的分布式存储系统,其核心由 SmartX 自主研发,具备生产级别的高可用机制和运维支持功能,同时可为有状态应用提供高性能数据存储服务。深入了解后,用户计划对 IOMesh 与 Local PV 支持 RDS 的性能和可靠性进行对比测试。

对比测试:多种数据库场景下 IOMesh 与 Local PV 性能相当,可靠性更佳

测试环境

硬件配置

软件版本

性能对比

分别创建 32C128G 的达梦数据库集群(主备)、MySQL 数据库集群(主备从)和 PostgreSQL 数据库集群(一主两备),进行标准压力测试,通过 sysbench 压测数据库,验证 Local PV 和 IOMesh 两种存储方案下的数据库性能。结果显示,在达梦数据库、MySQL 数据库和 PostgreSQL 数据库场景下,IOMesh 性能均与 Local PV 非常接近,IOMesh 的性能表现超出用户预期,可充分满足用户使用需求。

可靠性对比

此外,为了验证 IOMesh 的可靠性,用户在达梦数据库场景下模拟了节点故障场景,验证数据库主备切换和主备集群恢复的过程。

  • 当主库运行节点故障,主库 HA 漂移且拉起时间小于数据库主备切换时间,主备没有发生切换。此时后台可自动完成主备修复,由于多副本数据保护,主备修复时间较快。
  • 当主库运行节点故障,主库 HA 漂移且拉起时间大于数据库主备切换时间,主备发生切换。此时后台亦可自动完成主备修复,由于多副本数据保护,主备修复时间较快。

除了多副本机制,IOMesh 还可提供 PV 的秒级快照能力、业务优先的智能恢复策略,以及优化的 Pod HA 机制,进一步提升容器环境的可靠性。欲深入了解,请阅读:Kubernetes 节点故障而 Pod HA 失败?IOMesh 优化机制提供高级别高可用存储。

平台建设:以 IOMesh+RDS 构建自服务数据库云平台

基于以上测试,期货机构对 IOMesh 的性能和可靠性非常满意,最终决定以 IOMesh 作为 RDS 数据库平台的存储方案。目前,用户已在生产环境和测试环境分别部署若干套 IOMesh 集群,为 RDS 数据库服务提供高性能、高可靠的存储支持。利用 IOMesh 和 RDS,用户实现了自服务的云原生数据服务平台,业务团队仅需要三步就可以自主实现数据库服务的部署:

  1. 登录数据管理平台。
  2. 选择需要部署的数据库服务、高可用架构。
  3. 提交部署。

得益于 IOMesh 卓越的性能、可靠的数据保护机制和丰富的运维支持功能,整套数据库云平台为用户带来了如下收益:

  • 提升资源申请效率:自服务式的数据平台提升了资源申请的效率,原来需要人工申请、跨部门沟通操作,现在仅需数秒点击即可实现服务的自主部署。
  • 提升资源交付速度:数据类服务的交付速度从原来的以“天”为单位,提升到以“分钟”甚至“秒”为单位,满足了业务的需求。
  • 提升数据存储可靠性:Local PV 具备单点故障风险,缺少可靠的数据保护机制;IOMesh 通过多副本数据保护机制、快照保护等生产级高可用功能,可进一步加固存储数据安全。
  • 提高架构可用性:借助 IOMesh 多副本(本地优先、局部化和容量均衡)能力,支持数据库节点按需切换、主备切换等操作,无需应用方配合。
  • 提升资源利用率:引入 IOMesh 前,用户需要部署 22 节点物理机支持 8 个达梦数据库主备集群和 2 个 MySQL 数据库主备从集群;引入 IOMesh 后,仅需 3 个 IOMesh 节点即可支撑 10 个 RDS 数据库,且仍有资源余量。
  • 实现资源与基础设施监控:IOMesh 通过统一的 UI 界面即可查看系统的 I/O 性能情况和所有磁盘的健康状态,帮助运维人员及时发现问题并优化运维方案。
  • 提升管理效率:IOMesh 和 RDS 可无缝对接统一管理,并且由基础架构部门统一运维,无需跨部门沟通和运维。
  • 整套方案符合信创要求。

在 IOMesh 的支持下,用户的云原生数据服务平台已稳定运行近 1 年的时间。用户也在同时使用 IOMesh 支撑 KubeVirt 容器虚拟化场景,为虚拟机和容器提供统一的存储服务。未来,用户还计划使用 IOMesh 集群支持更多核心类业务系统,以及消息中间件等应用场景。关于 IOMesh 支持 KubeVirt 的方案与实践,请参考:利用 IOMesh 为 KubeVirt 提供高效稳定的存储支持(附用户实践)。

目前,IOMesh 已发布 1.1 版本,提供了全新的可视化管理界面和存储性能的增强,进一步提高运维效率,并为生产应用提供更强大的支持。我们将在未来分享更多关于新版本的技术解读与用户实践,敬请期待!

您还可下载阅读电子书《Kubernetes 持久化存储方案选择:从入门到评估》,深入了解面向 Kubernetes 的持久化存储的相关概念、技术路线、产品对比与选型建议。

相关文章:

金融行业专题|某头部期货基于 K8s 原生存储构建自服务数据库云平台

为了进一步提升资源交付效率,不少用户都将数据库应用从物理环境迁移到容器环境。而对于 Kubernetes 部署环境,用户不仅需要考虑数据库在性能方面的需求,还要为数据存储提供更安全、可靠的高可用保障。 近期,某头部期货机构基于 S…...

DELL服务器 OpenManage监控指标解读

监控易是一款专业的IT基础设施监控软件,通过SNMP等多种方式,实时监控服务器、网络设备等IT资源的各项性能指标。对于DELL服务器 OpenManage,监控易提供了全面的监控解决方案,确保服务器的稳定运行。 一、网络连通性监控&#xff…...

vscode下无法识别node、npm的问题

node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 因为node是在cmd安装的,是全局安装的,并不是在这个项目里安装的。 解决方案: 1.在vscode的控制台,针对一个项目安装特定版本的node; 2.已经…...

C语言之字符串处理函数

文章目录 1 字符串处理函数1.1 输入输出1.1.1 输出函数puts1.1.2 输入函数gets 1.2 连接函数1.2.1 stract1.2.2 strncat 1.3 复制1.3.1 复制strcpy1.3.2 复制strncpy1.3.3 复制memcpy1.3.4 指定复制memmove1.3.5 指定复制memset1.3.6 新建复制strdup1.3.7 字符串设定strset 1.4…...

昇思25天学习打卡营第4天|onereal

今天学习的内容是:ResNet50迁移学习 以下内容拷贝至教程,实话实话看不懂,迷迷糊糊都运行jupyter里的代码。走完程序,训练生成了一些图片。 ResNet50迁移学习 在实际应用场景中,由于训练数据集不足,所以很少…...

restTemplate使用总结

1、配置类 Configuration public class RestTemplateConfig() {Beanpublic RestTemplate restTemplate(ClientHttpRequestFactory factory) {return new RestTemplate(factory);}Beanpublic ClientHttpRequestFactory simpleClientHttpRequestFactory() {HttpComponentsClient…...

【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器

​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G) 1.京东云-618专属活动 官方采购季专属活动地址&#x…...

PostgreSQL 高级SQL查询(三)

1. JOIN 操作 1.1 内连接(INNER JOIN) 内连接用于返回两个表中存在匹配关系的记录。基本语法如下: SELECT columns FROM table1 INNER JOIN table2 ON table1.column table2.column;例如,从 users 表和 orders 表中检索所有用…...

麒麟系统安装Redis

一、背景 如前文(《麒麟系统安装MySQL》)所述。 二、下载Redis源码 官方未提供麒麟系统的Redis软件,须下载源码编译。 下载地址:https://redis.io/downloads 6.2.14版本源码下载地址:https://download.redis.io/re…...

Java-方法引用

方法引用概念 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 前提条件 1、引用处必须是函数式接口 2、被引用的方法必须已经存在 3、被引用方法的形参和返回值 需要跟抽象方法保持一致 4、被引用方法的功能要满足当前需求 方法引用格式示例 方…...

华为---配置基本的访问控制列表(ACL)

11、访问控制列表(ACL) 11.1 配置基本的访问控制列表 11.1.1 原理概述 访问控制列表ACL(Access Control List)是由permit或deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址、目的地址、源端口、目的端口等信息来描述。A…...

Apple Intelligence,我们能得到什么?(上)

苹果公司WWDC 2024发布会,苹果AI成为最吸睛的焦点。不过,苹果的AI不是大家口中的AI,而是苹果独有的概念:Apple Intelligence,苹果智能。 所谓Apple Intelligence,被定义为iPhone、iPad和Mac的个人智能系统…...

【数据库中的存储桶】

存储桶是对象存储系统中的一个核心概念,起源于Amazon S3(Simple Storage Service)并被其他对象存储解决方案(如MinIO、Google Cloud Storage等)广泛采用。在传统的文件系统中,我们通常使用目录和子目录来组…...

多选项卡的shiny

下面是一个包含多个选项卡的 Shiny 应用程序示例代码。在这个例子中&#xff0c;我们创建了一个包含三个选项卡的 Shiny 应用程序&#xff0c;每个选项卡中都有不同的内容。 library(shiny)# Define UI ui <- fluidPage(titlePanel("多选项卡 Shiny 应用"),tabse…...

Python项目Django框架发布相关

1.Nginx配置 server { listen 80; server_name 域名地址;location / { uwsgi_pass 0.0.0.0:4563;// 运行地址include uwsgi_params;} location /static{ // 静态文件路径alias /www/wwwroot/djserverproject/static;}}server { listen 443; server_name 域名地址;ssl_certific…...

kettle使用手册 安装9.0版本 建议设置为英语

0.新建转换的常用组件 0. Generate rows 定义一个字符串 name value就是字符串的值 0.1 String operations 字段转大写 去空格 1. Json input 来源于一个json文件 1.json 或mq接收到的data内容是json字符串 2. Json output 定义Jsonbloc值为 data, 左侧Fieldname是数据库…...

golang string、byte[]以及rune的基本概念,用法以及区别

在 Go 语言中&#xff0c;string、byte[] 和 rune 是处理文本和字符的三种不同数据类型。它们有各自的用途和特点&#xff0c;下面将详细介绍它们的基本概念、用法以及区别。 1. string 基本概念 字符串类型&#xff1a;string 是 Go 语言中的一种基本类型&#xff0c;用于表…...

全国211大学名单及排名

序号 名称 省份 985 211 双一流 1 北京大学 北京 是 是 是 2 清华大学 北京 是 是 是 3 复旦大学 上海 是 是 是 4 上海交通大学 上海 是 是 是 5 浙江大学 浙江 是 是 是 6 国防科技大学 湖南 是 是 是 7 中国人民大学 北京 是 …...

ASR 语音识别相关

ASR 语音识别 ASR&#xff08;Automatic Speech Recognition&#xff0c;自动语音识别&#xff09;是一种能够将语音转换为文本的技术。这种技术使得计算机能够“听懂”我们说的话&#xff0c;并将它们记录下来。这项技术被广泛应用于日常生活中的各种场景&#xff0c;比如语音…...

kotlin require和assert 区别

在 Kotlin 中&#xff0c;require 和 assert 是两种用于验证条件的方法&#xff0c;主要区别在于它们的使用场景和触发机制。 require require 用于函数参数的验证。如果条件不满足&#xff0c;它会抛出 IllegalArgumentException 异常。这通常用于对公共 API 的输入参数进行…...

为OpenClaw配置Taotoken实现高效AI智能体工作流

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为OpenClaw配置Taotoken实现高效AI智能体工作流 OpenClaw 是一个流行的开源AI智能体框架&#xff0c;它允许开发者快速构建和编排复…...

终极抢票指南:5分钟搭建全自动抢票系统,告别手速焦虑!

终极抢票指南&#xff1a;5分钟搭建全自动抢票系统&#xff0c;告别手速焦虑&#xff01; 【免费下载链接】damaihelper 支持大麦网&#xff0c;淘票票、缤玩岛等多个平台&#xff0c;演唱会演出抢票脚本 项目地址: https://gitcode.com/gh_mirrors/dam/damaihelper 还在…...

告别臃肿!Dell G15笔记本散热控制的轻量级开源替代方案

告别臃肿&#xff01;Dell G15笔记本散热控制的轻量级开源替代方案 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否厌倦了Dell原厂AWCC软件的缓慢响应和…...

CODE-II:百万级心电图AI评估基准与深度学习模型实践

1. 项目概述&#xff1a;当心电图遇上AI&#xff0c;我们如何量化“看懂”的能力&#xff1f;心电图&#xff0c;这个在临床诊断中司空见惯的波形图&#xff0c;背后是心脏每一次搏动的电生理活动记录。医生们通过识别P波、QRS波群、T波的形态、间期和节律&#xff0c;来判断心…...

WechatDecrypt技术实现:如何通过开源工具实现微信数据本地解密与隐私保护

WechatDecrypt技术实现&#xff1a;如何通过开源工具实现微信数据本地解密与隐私保护 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 在数字化时代&#xff0c;数据隐私保护已成为技术开发者和普通用户共…...

不止于导航:用AI Habitat的语义分割数据,教你构建自己的室内物体识别与场景理解Pipeline

不止于导航&#xff1a;用AI Habitat的语义分割数据构建室内物体识别与场景理解Pipeline 在计算机视觉与机器人领域&#xff0c;室内场景理解一直是极具挑战性的研究方向。传统方法依赖于昂贵的传感器设备和人工标注数据&#xff0c;而仿真平台的出现为这一领域带来了革命性变…...

2025届学术党必备的六大AI辅助论文神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 该AI开题报告工具&#xff0c;针对硕博研究生&#xff0c;针对本科毕业论文创作者&#xff0…...

别再手动调阈值了!OpenCV实战:用Otsu和自适应阈值搞定光照不均的图片分割

智能图像分割实战&#xff1a;Otsu与自适应阈值技术解决光照不均难题 在工业质检、医疗影像分析、自动驾驶等场景中&#xff0c;图像分割的准确性直接影响最终结果。但现实世界的光照条件往往复杂多变——同一张图片可能同时存在过曝和欠曝区域&#xff0c;传统全局阈值方法在…...

VCSA 7.0 报 vAPI Endpoint 黄灯告警?别慌,这份保姆级排查与修复指南帮你搞定

VCSA 7.0 vAPI Endpoint黄灯告警全流程诊断手册 凌晨三点&#xff0c;监控系统突然弹出一条告警——vCenter Server的vAPI Endpoint服务状态由绿转黄。作为运维负责人&#xff0c;你需要在最短时间内判断这是需要立即处理的严重故障&#xff0c;还是可以暂缓的偶发异常。本文将…...

瑞芯微刷机工具(RKDevTool)/瑞芯微刷机驱动(DriverAssitant)_多个版本下载及教程分享

瑞芯微刷机工具(RKDevTool)&#xff0f;瑞芯微刷机驱动(DriverAssitant)_多个版本下载及教程分享 适合&#xff08;处理器是RK字母开头的芯片&#xff09;&#xff0c;比如RK3128、RK3188、RK3229、RK3288、RK3368、RK3328、RK3399、RK3528、RK3568、RK3566、RK3588等等瑞芯微芯…...