使用 KubeBlocks 为 K8s 提供稳如老狗的数据库服务
原文链接:https://forum.laf.run/d/994
大家好!今天这篇文章主要向大家介绍 Sealos 的数据库服务。在 Sealos 上数据库后端服务由 KubeBlocks 提供,为用户的数据库应用保驾护航。无论你是在公有云还是本地环境中使用,Sealos 都能为你管理关系数据库、NoSQL、向量数据库和流数据库等各种类型的数据库。它专为生产环境而设计,提供可靠、高性能、可观测且经济高效的数据基础设施。
让我们来看看数据库应用的魅力吧:
功能介绍
创建数据库
Sealos 提供了一个简单易用的数据库前端应用,屏蔽了繁琐的命令行操作。你只需通过 Database 应用就能轻松创建各种数据库,包括 Mysql、PostgreSQL、MongoDB、Redis 等多种类型的数据库。
连接使用
进入详情页面,你可以查看数据库的详细信息,并通过一键连接功能与数据库进行交互。这让操作变得更加便捷,让你与数据库之间的互动更加高效。
高可用测试
Sealos 在提供高可用服务方面表现出色,确保在关键时刻数据库能够正常工作,不会出现故障。这为你的数据提供了额外的保障,让你放心使用。我们将通过一个小小的测试来验证数据库的高可用。
首先创建一个实例数大于 1 的数据库应用,这里我们创建一个 3 实例的 PostGreSQL:
创建完成后便可通过一键连接功能进入到数据库命令终端:
我们点击 Add a Terminal
按钮创建第二个终端应用。
同时我们查看一下当前的主节点是哪个,发现是 test-postgresql-1
:
现在我们要删除这个主节点,通过 kubectl delete pod test-postgresql-1
命令即可进行删除操作:
备份恢复功能
我们的数据库还提供了强大的备份恢复功能,这意味着即使出现数据丢失或损坏的情况,你也能轻松恢复到备份时的状态。无论是数据误删,还是面临灾难情况,备份都能帮助你快速恢复数据库,减少业务中断的时间。
下面也通过实例具体测试一下,我提前准备了一些数据用来测试:
进入到备份列表点击「备份」按钮进行备份操作:
这里我们演示一下手动备份的功能,备份名和备注都可以进行修改,我们直接点击「开始备份」按钮进行备份:
备份完成后通过状态可以查看备份的结果:
我们可以点击 「恢复」的图标进行恢复功能,并且等待恢复的数据库成功启动:
进入到恢复的数据库中进行数据查看,可以发现数据成功的恢复出来:
监控功能
在 Sealos 中,你不仅能轻松管理数据库,还能享受到用户友好的监控功能。你可以随时查看数据库的运行状态,并通过图表和指标监控数据库的性能表现。
实现原理
看到这里你可能会好奇 KubeBlocks 为何能在 Sealos 上提供稳定、高效的数据库服务。让我们一起深入了解它的实现原理并了解一下它的高可用架构以及备份恢复策略吧!
有状态服务设计
KubeBlocks 以一种灵活的方式进行数据库拓扑设计。它通过使用复制关系的 Replicated State Machine(RSM)作为核心组件,将复杂的分布式数据库拆分成无缝连接的基础组件(block)。无论是 Stateless、StatefulSet 还是 RSM,都可以轻松应用于 KubeBlocks 中。这意味着,你可以将任何数据库引擎与 KubeBlocks 结合使用,构建出更加灵活的系统架构。
高可用架构设计
KubeBlocks 实现了两种高可用算法:quorum-based 和经典主备。对于 quorum-based 类的数据库,KubeBlocks 提供了角色探测、角色校正和重建等功能,而数据库本身则负责更完整的探测、决策和切换等主体功能。对于经典主备场景,如 MySQL 和 PostgreSQL 主备,KubeBlocks 负责执行完整的探测、决策、切换、重建和角色校正等任务。此外,KubeBlocks 还采用通用的高可用架构,支持各种数据库类型,例如复制集群和分片集群,通过增加副本数量来提高可靠性和可用性,降低数据丢失的概率。
备份恢复设计
为了进一步保护数据并防止丢失或损坏,KubeBlocks 提供了备份恢复策略。备份可以用于多种情况,例如数据丢失、灾难恢复和数据迁移。在 Sealos 中,我们提供了物理备份功能,这意味着直接复制数据库的物理文件(包括数据文件和日志文件)到备份介质(如磁盘或磁带)上。物理备份具有快速恢复、数据一致性和空间效率的特点。它可以更高效地将备份文件还原到原始数据库,保持与数据库的物理状态完全一致,并且占用较少的存储空间。特别适用于大型数据库的备份和恢复需求,进一步提升 Sealos 作为生产环境的能力。
如果你对数据库服务感兴趣,我强烈推荐你尝试 Sealos 上的数据库服务。无论你是开发者、数据工程师还是系统管理员,这个稳如老狗的数据库服务都能帮助你更高效地管理和运维你的数据。让 Sealos 成为你的得力助手,让你的数据库运行如飞!
相关文章:
使用 KubeBlocks 为 K8s 提供稳如老狗的数据库服务
原文链接:https://forum.laf.run/d/994 大家好!今天这篇文章主要向大家介绍 Sealos 的数据库服务。在 Sealos 上数据库后端服务由 KubeBlocks 提供,为用户的数据库应用保驾护航。无论你是在公有云还是本地环境中使用,Sealos 都能为…...
SFL212B-10-21-15、SFL212B-20-21-40喷嘴挡板伺服阀
SFL212B-05-21-10、SFL212B-10-21-15、SFL212B-20-21-40、SFL212-05-32-10、SFL212-10-32-15、SFL212-20-32-40、SFL212A-05-21-10、SFL212A-10-21-15、SFL212A-20-21-40喷嘴挡板力反馈伺服阀,外置伺服放大器,四通,带阀芯阀套的两级伺服阀&am…...
阿里云100元预算可选的云服务器配置2核2G3M带宽
阿里云服务器100元可以买到哪些配置?如果是一年时长,轻量应用服务器2核2G3M带宽一年108元,系统盘为50GB高效云盘。以前阿里云服务器ECS卖过35元一年、69元、88元、89元和99元的都有过,但是现在整体费用上涨,入门级云服…...
Linux问题--docker启动mysql时提示3306端口被占用
问题描述: 解决方法: 1.如果需要kill掉mysqld服务可以先通过 lsof -i :3306 2. 查询到占用3306的PID,随后使用 kill -15 PID 来kill掉mysqld服务。 最后结果...
2023年中秋月饼市场趋势分析(月饼京东销售数据分析)
中秋将至,月饼作为节令食品将再次掀起消费热潮。今年月饼市场的需求如何呢,是更受欢迎还是热度有所降低,结合数据我们一起来看今年月饼市场的销售表现。 在这里,我们分别选取了2022年第31周-32周和2023年第31周-32周(…...
A Survey on Model Compression for Large Language Models
本文是LLM系列文章,关于模型压缩相关综述,针对《A Survey on Model Compression for Large Language Models》的翻译。 大模型的模型压缩综述 摘要1 引言2 方法3 度量和基准3.1 度量3.2 基准 4 挑战和未来方向5 结论 摘要 大型语言模型(LLM…...
读取/加载 properties/yml 配置文件
大家好 , 我是苏麟 , 今天带来一个简单好用的东西 . 读取/加载 properties/yml配置文件 基于PropertiesConfiguration读取配置文件 引入依赖 <!--加载yml资源--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b…...
UG\NX二次开发 创建中心线
文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,C\C++,Qt-CSDN博客 简介: 下面是在制图模块创建中心线的例子,用的是ufun函数。 效果: 代码: #include "me.hpp"#include <stdio.h> #include <string.h> #include <uf.h>…...
用java语言写一个网页爬虫 用于获取图片
以下是一个简单的Java程序,用于爬取网站上的图片并下载到本地文件夹: import java.io.*; import java.net.*;public class ImageSpider {public static void main(String[] args) {// 确定要爬取的网站URL和本地保存目录String url "https://www.…...
三数之和-LeetCode
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&a…...
ubuntu 对多CPU统一设置高性能模式
一、问题描述 之前在网上找到的CPU设置高性能模式,只能设置CPU0单个CPU,下述是对多核CPU统一设置工作模式。 二、软件安装与设置 执行下述命令sudo apt-get install indicator-cpufreq,然后重启电脑。此时,界面右上角会出现如下图标…...
志凌海纳 SmartX 携手灵雀云推出全栈云原生联合解决方案
近日,北京志凌海纳科技有限公司(以下简称“SmartX”)与北京凌云雀科技有限公司(以下简称“灵雀云”)联合推出全栈云原生联合解决方案,为客户提供从基础设施到容器云平台的一站式服务,加速客户云…...
排名前 6 位的数学编程语言
0 说明 任何对数学感兴趣或计划学习数学的人,都应该至少对编程语言有一定的流利程度。您不仅会更有就业能力,还可以更深入地理解和探索数学。那么你应该学习什么语言呢? 1.python 对于任何正在学习数学的人来说,Python都是一门很棒…...
arm:day6
实现UART通信: 1.键盘输入一个字符a,串口工具显示b 2.键盘输入一个字符串"nihao",串口工具显示"nihao" uart.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_uart.h" #include "stm32mp1xx_gpio.h" #in…...
MyBatis快速入门以及环境搭建和CRUD的实现
目录 前言 一、MyBatis简介 1.MyBatis是什么 2.MyBatis的特点 3.mybatis的作用 4.MyBatis的应用场景 5.MyBatis优缺点 二、相关概念 1.ORM概述 2.常见的ORM框架 3.什么是持久层框架 三、MyBatis的工作原理 1.框架交互 2.工作原理 编辑 四、MyBatis环境搭建 1…...
基于Pytorch实现的声纹识别系统
前言 本项目使用了EcapaTdnn、ResNetSE、ERes2Net、CAM等多种先进的声纹识别模型,不排除以后会支持更多模型,同时本项目也支持了MelSpectrogram、Spectrogram、MFCC、Fbank等多种数据预处理方法,使用了ArcFace Loss,ArcFace loss…...
Fast DDS (2)
1、结构: Fast DDS的架构如下图所示,可以看到以下不同环境的层模型: 应用层:利用Fast DDS API 在分布式系统中实现通信的用户应用程序。Fast DDS层:DDS 通信中间件的稳健实现。它允许部署一个或多个 DDS 域ÿ…...
HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制if/else条件渲染
ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。说明:从API version 9开始,该接口支持在ArkTS卡片中使用。一、使用规则 支持if、else和else if语句。 if、else if后跟随的条件语句…...
飞天使-k8s基础组件分析-pod
文章目录 pod介绍pod 生命周期init 容器容器handlerpod中容器共享进程空间sidecar 容器共享 参考链接 pod介绍 最小的容器单元 为啥需要pod? 答: 多个进程丢一个容器里,会因为容器里个别进程出问题而出现蝴蝶效应,pod 是更高级的处理方式pod 如何共享相…...
css题库
什么是css? CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。 为什么最好把 CSS 的 link 标签放在…...
中文医疗大模型汇总
【写在前面】随着大语言模型的发展,越来越多的垂直领域的LLM发不出来,针对医学这一垂直领域的LLM进行整理,放在这里,希望对大家有一定的帮助吧。还会继续更新,大家有兴趣的话可以持续关注。 更多关于中文医疗自然语言处…...
smiley-http-proxy-servlet 实现springboot 接口反向代理,站点代理,项目鉴权,安全的引入第三方项目服务
背景: 项目初期 和硬件集成,实现了些功能服务,由于是局域网环境,安全问题当时都可以最小化无视。随着对接的服务越来越多,部分功能上云,此时就需要有一种手段可以控制到其他项目/接口的访问权限。 无疑 反向…...
Java集合利器 Map Set
Map & Set 一、概念二、Map三、Set下期预告 一、概念 Map和Set是一种专门用来进行搜索的数据结构,其搜索的效率与其具体的实例化子类有关。它们分别定义了两种不同的数据结构和特点: Map(映射) :Map是一种键值对&…...
HJ106 字符逆序
描述 将一个字符串str的内容颠倒过来,并输出。 数据范围:1≤len(str)≤10000 1≤len(str)≤10000 输入描述: 输入一个字符串,可以有空格 输出描述: 输出逆序的字符串 示例1 输入: I am a student 输…...
sentinel的基本使用
在一些互联网项目中高并发的场景很多,瞬间流量很大,会导致我们服务不可用。 sentinel则可以保证我们服务的正常运行,提供限流、熔断、降级等方法来实现 一.限流: 1.导入坐标 <dependency><groupId>com.alibaba.c…...
【STM32】串口通信乱码(认识系统时钟来源)
使用 stm32f407 与电脑主机进行串口通信时,串口助手打印乱码,主要从以下方面进行排查: 检查传输协议设置是否一致(波特率、数据位、停止位、校验位)检查MCU外部晶振频率是否和库函数设置的一致 最终发现是外部晶振频…...
Java实现敏感词过滤功能
敏感词过滤功能实现 1.GitHub上下载敏感词文件 2.将敏感词文件放在resources目录下 在业务中可以将文本中的敏感词写入数据库便于管理。 3.提供实现类demo 代码编写思路如下:1.将敏感词加载到list中,2.添加到StringSearch中,3.校验&#x…...
大数据向量检索的细节问题
背景:现有亿级别数据(条数),其文本大小约为150G,label为字符串,content为文本。用于向量检索,采用上次的试验进行,但有如下问题需要面对: 1、向量维度及所需空间 向量维度一版采用768的bert系列的模型推理得到,openai也有类似的功能,不过是2倍的维度(即1536),至…...
如何让智能搜索引擎更灵活、更高效?
随着互联网的发展和普及,搜索引擎已经成为人们获取信息、解决问题的主要工具之一。 然而,传统的搜索引擎在面对大数据时,往往存在着搜索效率低下、搜索结果精准度不够等问题。 为了解决这些问题,越来越多的企业开始采用智能搜索技…...
C++set集合与并查集map映射,哈希表应用实例B3632 集合运算 1P1918 保龄球
集合的性质 无序性互异性确定性 B3632 集合运算 1 题面 题目背景 集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。 集合有如下的特性: 无序性:任一个集合中,每个元素的地位都是相同的&…...
wordpress菜单显示在哪里/网址百度刷排名
苹果设备我参考其他的资料,大多大神写的东西只讲一些概念,必要的判断都没有写,必须iphonex的底部适配的高度是34,所以我对之前的设备适配只做了iphoneX。但是现在新出的设备xs和xr都需要底部适配,所以设备的判断就需要…...
大型b2c网站/湖北百度推广公司
你可以使用 python 的 xlrd 库打开一个 excel 文件,然后使用 xlrd 库提供的函数获取行和列的值,修改它们,然后使用 python 的 xlwt 库将修改后的值写入新的 excel 文件中。 这是一个简单的例子,展示了如何使用 xlrd 库打开 excel …...
wordpress系列文章/seo专业培训中心
问题报错: Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-resources-plugin:2.6:resources 问题原因: m2e在其执行maven的生命周期管理时没有定义该插件 解决办法: 1、eclipse:…...
低价网站建设机构/英文seo实战派
2019独角兽企业重金招聘Python工程师标准>>> 可能是因为resin4出来不久的原因,很多人对一个resin配置多个app不是很了解,经过几个小时的研究,有了一些小的成果,在此分享一下: 在开发的时候很多人习惯了一个…...
邢台做网站口碑好/廊坊seo关键词优化
int类型的数据转化为uint类型:因为int是带符号的类型,当int是正数时,int类型数据转化为uint时不发生改变。当int是负数时,int类型数据转化为uint类型时,值就要发生变化。但转化的过程并不是去掉前面的负号,…...
马鞍山专业网站制作公司/南京seo代理
Scala中的特质类似于Java中的接口,不过trait中可以有实现的方法,也可以有属性.如果是一个trait可以用 extends 剩下的就可以用with trait Person{def eat(str:String){println(str)} } trait Worker{def work{println("working")} } class Student extends Worker w…...