Moebius兼容AlwaysOn

2023-10-14 06:30
文章标签 兼容 moebius alwayson

本文主要是介绍Moebius兼容AlwaysOn,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

数据库是信息化的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为“IT的心脏”。因此,让数据库安全、稳定、高效地运行已经成为IT管理者必须要面对的问题。数据库在底层架构层面需要满足以下几点建设要求:
安全和可靠:不能因为服务器的软硬件故障导致数据丢失和业务中断;
容灾:多数据中心间的数据库同步,某一个数据中心出现故障后,可以在另一个数据中心快速拉起业务;
读写分离(报表分离):把接口程序、报表程序、集成平台数据抽取、大数据运算等高消耗的查询语句分离到备机执行,从而避免对主服务器的性能消耗以及造成的阻塞和死锁;
负载均衡 需要多台服务器同时负载并发请求,降低单台服务器的压力,提升系统整体性能;
弹性扩展 通过增加服务器的方式应对数据量或者访问量增加带来的性能瓶颈。

AlwaysOn


AlwaysOn是SQL Server 从2012版本开始推出的多个实例间同步数据库的技术,借助Windows失败转群集实现高可用,主副本出现故障后,自动切换到辅助副本。辅助副本中数据库都是可以查询的,可用来实现读写分离、负载均衡等功能。

AlwaysOn中每个副本的SQL Server服务独立安装,使用每个副本自己存储介质内的数据库文件。在主副本写入数据时会产生日志,AlwaysOn捕获并传输日志到其他副本,并通过REDO技术完成日志到数据的转换,从而实现各副本中数据的一致性。有同步提交和异步提交两种同步方式,不同的副本可以使用不同的同步方式。

Moebius(莫比斯)


Moebius数据库多活集群是格瑞趋势为SQL Server数据库研发的能够同时满足可用性、数据安全、容灾、读写分离、负载均衡的一站式多活集群。集群的名字取自Moebius环,寓意无限扩展。

Moebius采用“share nothing”架构,每个节点的SQL Server服务独立安装,使用每个服务器自己存储介质内的数据库文件。不基于共享存储设备,也不基于磁盘镜像等功能,通过SQL Server的日志同步技术实现各节点中数据的一致性。在主节点写入数据时会产生日志,Moebius捕获并传输日志到其他节点,并通过REDO技术把日志转换成数据。因此每个节点的SQL Server服务都是启动的,数据都是“活”的。Moebius有实时和准实时两种同步方式,不同的节点可以使用不同的同步方式。

Moebius的调度引擎支持连接级和SQL语句级两种调度方式,通过规则的配置,在不改动或者少改动应用程序的前提下,透明的实现读写分离、负载均衡。

封装


AlwaysOn依赖Windows失败转移群集(WSFC),WSFC又依赖很多Windows组件,概念多而且晦涩,还有很多隐蔽的参数,所以安装过程比较复杂,稍有不慎就会为以后的运维留下隐患,因此需要专业的DBA。

Moebius集成了格瑞趋势数百次安装经验,对AlwaysOn的安装过程进行了全面的封装,安装过程中自动配置WSFC等相关Windows功能组件和参数的最佳实践配置, 降低了安装过程中的复杂度,减少对专业DBA的依赖。

增强


登录账号

AlwaysOn不支持登录账号(属性、密码、角色、权限等)的同步,需要DBA手动维护。在实践过程中发现,辅助节点切换成主节点时,因为没有账号、密码不对、权限不对、数据库映射关系不对等导致业务系统无法正常使用的情况非常普遍,靠人工的方式保障每个节点上登录账号的一致性是很困难的。还有一个情况,很多DBA在同步账号的时候,在主节点生成脚本然后在辅助节点上执行,这种方式创建的账号SID在各节点间不一致,导致节点切换时数据库和账号映射关系不对,业务系统无法正常使用。

Moebius支持对登录账号创建、更改、删除整个生命周期的自动同步,保障登录账号在各个节点间的一致性。

作业

AlwaysOn不支持作业的同步,辅助节点切换成主节点时,因为没有作业、作业的内容不对、没有及时开启等原因导致业务数据混乱等问题。

Moebius支持对作业创建、更改、删除整个生命周期的自动同步,保障作业在各个节点间的一致性。而且自动根据节点的状态控制作业的运行状态,主节点的作业是运行的,辅助节点的作业是禁止的,防止作业在多个节点上重复执行。

链接服务器

AlwaysOn不支持链接服务器的同步,Moebius支持对链接服务器创建、更改、删除整个生命周期的自动同步,保障链接服务器在各个节点间的一致性。

系统数据库对象

很多业务系统会在系统库中存储对象,例如在master库中保存注册码的表、model库存储作为模板的对象等。这些对象不同步同样会造成业务系统无法正常使用。

Moebius支持对系统库中的表(结构和数据)、存储过程、视图、函数等常用对象的同步,可以对系统库名称,对象类型、对象名称等多个维度进行灵活的配置。

CDC

CDC(变更数据捕获)是SQL Server捕获数据变更的技术,把表的变更记录(INSERT、UPDATE、DELETE、DDL)保存在系统表中,供业务使用,第三方数据增量同步工具(DSG、GoldenGate等)都是封装的CDC,很多厂商的集成平台或者报表平台也是通过CDC实现增量数据的抽取。

AlwaysOn不支持CDC的同步,当辅助节点切换成主节点时,CDC会停止,DBA要通过复杂的操作才能让CDC继续。实践中发现,在AlwaysOn中使用CDC对DBA是个非常大的困扰,觉大多数DBA都不清楚CDC的实现原理,操作不好,最终只能选择重新初始化。

Moebius对CDC做了全面的封装,节点切换时,会自动在新的主节点上开启CDC,并且无缝衔接上次的捕获, 极大的方便了CDC的使用。

读写分离

在AlwaysOn下实现读写分离,应用程序建立数据库连接时使用的数据库连接字符串的配置中加上“ApplicationIntent=ReadOnly”关键词,SQL Server把该连接建立到AlwaysOn的辅助节点执行。前提是该连接里面所有的SQL语句都必须是只读的,如果有更新的SQL语句,就会报错。也就是说AlwaysOn的读写分离是连接级的,不是语句级的。很多人认为只要在数据库连接串中加好这个关键词,不需要改动应用程序就能实现读写分离了,这是个非常大的误区。应用程序要使用两个数据库连接串,一个读写的,一个只读的,确定是只读的功能使用这个只读的字符串建立连接。这个改造过程对于自己研发的功能来说是容易的,如果是购买的产品,难度就可想而知了。

Moebius的调度引擎支持语句级的解析,只需要修改应用程序的数据库连接串让应用程序连接到Moebius集群的端口,然后在Moebius中配置基于语句特征的相关规则就可以在不修改或者少修改应用程序的前提下实现读写分离,Moebius支持SQL语句、登录名、客户端主机名、应用程序名等多个维度进行规则的配置。

负载均衡

AlwaysOn从SQL Server 2016开始才支持负载均衡的功能,而且和读写分离的要求一样,需要应用程序的修改。在Moebius中,在读写分离的基础上启用负载均衡选项即可,而且没有SQL Server版本的限制。

这篇关于Moebius兼容AlwaysOn的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/208781

相关文章

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

你的应用与Solaris 11兼容吗?

用户现在可以下载开发者预览版的Solaris 11,它内置在名为Solaris 11 Express的软件产品中,甲骨文已在去年11月发布了该产品。如今,甲骨文发布了一款新的甲骨文Solaris 11兼容性检查工具(Oracle Solaris 11 Compatibility Checker Tool),加强了Solaris 11方面的开发工作。对于甲骨文和Solaris的用户来说,这是重

关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案

我下载了iReport5.6.0 版本的,启动不起来;jdk 1.8 下载iReport5.6.0地址:https://download.csdn.net/download/u013456370/10589765 参考链接:https://blog.csdn.net/erlian1992/article/details/76359191?locationNum=6&fps=1 如果是停留在这

三维布尔运算对不规范几何数据的兼容处理

1.前言 上一篇文章谈过八叉树布尔运算,对于规范几何数据的情况是没有问题的。 在实际情况中,由于几何数据来源不一,处理和生成方式不一,我们无法保证进行布尔运算的几何数据都是规范的,对于不规范情况有时候也有需求,这就需要兼容不规范数据情况,当然这种兼容不是一味的让步,而是对于存在有限的不规范数据的兼容处理。 2.原始数据示例 下图是一个大坝模型和之上要对其进行布尔运算的立方体。 大坝模型由

兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)

Apache Doris 内置支持包括 Hive、Iceberg、Hudi、Paimon、LakeSoul、JDBC 在内的多种 Catalog,并为其提供原生高性能且稳定的访问能力,以满足与数据湖的集成需求。而随着 Apache Doris 用户的增加,新的数据源连接需求也随之增加。因此,从 3.0 版本开始,Apache Doris 引入了 Trino Connector 兼容框架。 Tri

多字节、宽字节、兼容字节(TEXT) 相关操作汇总

常用函数对照 ANSIUNICODE通用说明数据类型(char.h)(wchar.h)(tchar.h) charwchar_tTCHAR char *wchar_t *TCHAR* LPSTRLPWSTRLPTSTR LPCSTRLPCWSTRLPCTSTR     字符串转换atoi_wtoi_ttoi把字符串转换成整数(int)atol_wtol_ttol把字符串转换成长整型数(long)

android 兼容API的检查

读之前可以了解一下api levels的知识:Android中文翻译组的:Android开发者指南(10) —— Android API Levels 一,使用高版本API要注意的问题 在项目开发中:由于经验和其他条件的制约,如没有查看API出现的版本,对过时API没有作兼容等等。 可能出现下面的问题: 当你的代码使用一个高版本的API, 应用运行

苹果HEIC格式无法兼容,怎么把EIC格式转换为jpg格式

随着苹果设备的普及,HEIC格式作为苹果设备特有的图片格式,其高效性和高质量的图像特点得到了广大用户的青睐。然而,由于HEIC格式的特殊性,它在非苹果设备或一些老旧软件上的兼容性并不理想。怎么把苹果heic格式转换jpg成为了许多用户的需求。本文将介绍3种将苹果HEIC格式转换为JPG的方法,帮助用户轻松解决兼容性问题。 一、使用苹果设备自带的软件 对于苹果用户来说,使用设备自带的软件是最简单

工业必备:SLM34x系列SLM340CK-DG 1A兼容光耦的单通道隔离驱动器

SLM34x系列SLM340CK-DG是单通道兼容光耦的隔离式栅极驱动器产品系列,适用于驱动IGBT、MOSFET。其峰值驱动电流1.0A。与光耦栅极驱动器相比,其性能和可靠性都得到显著的提升,同时保持了对光耦栅极隔离驱动器管脚的兼容。性能提升包括高共模瞬态抗扰度(CMTI)、低传播延迟和较小的脉宽失真。 SLM34x系列SLM340CK-DG的输入级是一个“模拟二极管”,与传统光耦相比,没

IDEA 安装lombok插件不兼容的问题及解决方法

解决:IDEA 安装lombok插件不兼容问题,plugin xxxx is incompatible 一、去官网下载最新的2024版本 地址传送通道: lombok插件官网地址https://plugins.jetbrains.com/plugin/6317-lombok/versions/stable  二、修改参数的配置 在压缩包路径 lombok-plugin -> li