一分钟读懂MySQL分布式消息的处理

在很多MYSQL环境中,对于MYSQL的分布式事物处理一直是个难题,在当前互联网环境中,大多数应用系统是基于SOA的很多复杂接口之间的调用,并且事物之间的处理优先级也是有先后的,所以对于实际入库的数据而言,不同的系统,对于当前入库的处理方式是不一样的,这样就衍生出了对于订阅MYSQL消息的需求。

 

在公司内部,这套分布式消息系统负责了各个子接口之间数据的衔接,同时肩负后端DW数据仓库的实时消息计算,多数的RDBMS数据,被分解成各种子消息队列,通过不同的topic被各种消费者订阅。

 

一、如何分解消息

 
 

后端订阅程序(基于阿里巴巴的canal)通过解析不同应用的binlog (mysql线上产生的二进制日志) 通过模拟slave的行为,将binlog顺序的订阅到本地,通过内部解析程序,将binlog events解析成对应的消息,通过MetaQ 固化解析完成的消息,自定义存放时间,从而让consumer 自行订阅到对应的系统,进行相关处理。

 

 

具体roma文档可以参考我的blog:

 

二、何时订阅

 
 

通常当支付系统需要做异步分布式事务调用的时候,可以采用roma消息。采用水平拆分DB而需要一些统计类的需求的时候(合表) 可以订阅合并的topics。当需要一个汇总的数据仓库,执行跨库join查询的时候 可以订阅roma消息。

 

 

上图中,各类系统通过RPC框架进行异步调用,同时将订阅到的消息(roma异步消息)进行相处理,将操作类型,操作细节发送给对应子系统,从而实现了操作的异步化(而roma对于前端数据库日志的实时解析保证了事物消息的实时性)。

 

三、对于数据仓库

 

在我们的系统中,很多核心表被水平拆分成了N份,对于后端实时数据仓库来说,希望通过合并所有的拆分表,进行多维度的查询工作 (对job来说,可以通过定期任务抽取水平拆分的表,但是实时性是滞后的)。

 

在中转服务器上,使用java程序直接订阅roma的消息,拼接成相应的SQL在后端DW上直接执行。

 


 

通过订阅同步消息,将前端更新实时同步到后端的数据仓库,从而达到实时分析的需求。后期结合binlog server的改进还可以进行所有系统的binlog 集中化分层订阅。

 

四、对于实时分析平台

 
 

同样可以订阅前端RDBMS操作到后端大数据平台,通过流式计算实现秒级的分析。

 

 

后期需要改进的:

 

   

  • roma的订阅能力,对于前端log并发解析的粒度
  • 智能的存储策略 动态调整没有被订阅消息的保存时间

   
 

作者介绍  Louis Liu(www.vmcd.org)

  • 平安健康互联网数据库架构师。
  • 主要负责核心rdbms、分布式数据库、分布式缓存的架构设计及运维工作。


时间: 2024-10-25 13:14:44

一分钟读懂MySQL分布式消息的处理的相关文章

互联网女皇报告精华版:5分钟读懂互联网趋势

中介交易 SEO诊断 淘宝客 云主机 技术大厅 [摘要]移动时代已经到来,虽然移动广告增长乐观,但移动应用营收占移动端整体收入的68%,远高于广告. "互联网女皇"玛丽•米克尔(腾讯科技配图) 腾讯科技 孙实 5月29日报道 今日,"互联网女皇"玛丽•米克尔在美国Code大会上发布了<2014年互联网趋势报告>.165页的报告或许让你感到一些疲惫,腾讯科技推出报告精华版,让你几分钟读懂互联网未来趋势. 移动设备仍有增长空间 智能手机用户仅占52亿移动用户

《Hack与HHVM权威指南》——1.2.2 读懂报错消息

本节书摘来自华章出版社<Hack与HHVM权威指南>一书中的第1章,第1.2.2节,作者 Owen Yamauchi,更多章节内容可以访问"华章计算机"公众号查看. 1.2.2 读懂报错消息 类型检查器的报错消息设计得详细又容易理解.下面是个将会触发错误的示例代码.<?hhfunction main() { $a = 10; $a[] = 20;}我们将把它保存成为一个名为test.hh的文件,并且运行类型检查器:$ hh_client/home/oyamauchi/

三分钟读懂TT猫分布式、微服务和集群之路

针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 分布式 小马正在经营一个在线购物网站,名叫TT猫,有商品管理.订单管理.用户管理.支付管理.购物车等等模块,每个模块部署到独立的云服务主机. 现在,程序员小明同学浏览TT猫,想买一款牛逼的cherry机械键盘来提升自己的工作效率.小明打开TT猫首页.搜索商品.浏览详情以及评论.添加购物车.下单.支付等等一系列操作.小明同学一气呵成,

五分钟读懂SIGIR 2017前沿技术研究成果

SIGIR是展示信息检索领域新技术和新成果的顶级国际会议. SIGIR 2017 今天开幕,今年阿里巴巴共有两篇文章被大会收录. 以下内容为被收录文章精华内容简述. 一.基于概率隐层模型的购物搭配推送 论文链接:https://arxiv.org/pdf/1707.08113.pdf 这篇文章中,我们对电商领域营销推送场景进行点击率的优化.营销推送场景和传统电商推荐场景有很多类似的地方,但也有所不同.首先,营销推送的点击率受文案影响很大,和用户直接相关的文案的点击率会明显高于通用的推送文案:其次

2分钟读懂Hadoop和Spark的异同

谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生.但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同. 解决问题的层面不一样 首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同.Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件. 同时,Hadoop还会索引和跟踪

两分钟读懂企业云,供应商跟你说这些了吗?

目前企业云的核心是超融合(HCI).在集成各种服务的同时,可在商用硬件上可靠地管理虚拟化和存储,并将成本降低到合理水平,同时简化支持. 企业云包括什么? 今天,企业可以购买具有集成到交钥匙解决方案中的许多主要功能的软件定义的基础设施模块.计算资源(CPU,RAM,GPU等),分布式共享存储和存储服务(如压缩,重复数据删除,精简配置等)都是基本软件包的一部分. 更好的企业云包含或消除了WAN优化技术的需求,提供完全集成的混合云计算,裸机管理程序或微管理器,并具有某种形式的工作负载迁移/最大化软件.

2 分钟读懂大数据框架 Hadoop 和 Spark 的异同

谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生.但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同. 解决问题的层面不一样 首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同.Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件. 同时,Hadoop还会索引和跟踪

一分钟读懂阿里云产品:ECS概述

  阿里云的产品很多,今天我们来为您介绍下阿里云的云服务器(Elastic Compute Service,简称 ECS)这款产品.一起来了解下吧.   那ECS是什么呢?简单来说,就是一种简单高效.处理能力可弹性伸缩的计算服务.   相比云服务器ECS,你之前可能对传统服务器比较熟悉.但传统服务器存在一些不足,比如:受限于硬件可靠性,易出问题:需手工备份,人工数据恢复困难耗时:改配置需要硬件升级,周期长,服务停止时间不可控.除此之外,传统服务器租用费用较高,需要大量人员负责机器运维,成本过高.

企业上市前如何运作资本,教你几分钟读懂

导读:企业上市前资本运作目的很简单,一是通过重组并购方式扩大企业规模,获得行业竞争优势,提高产品市场占有率:二是通过对已上市公司股权投资.股权置换等方式间接上市,当对已上市公司的控股比例达到一定的控制地位时,便举牌收购,成为正式上市公司控制人. 一般的资本运作模式有以下几种: 一.并购重组 并购重组就是兼并和收购是意思,一般是指在市场机制作用下,一企业为了获得其他企业的控制权而进行的产权交易活动.并购重组的目的是搞活企业.盘活企业存量资产的重要途径,我国企业并购重组,多采用现金收购或股权收购等支