开发者社区> 努力酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

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

 

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

 

一、如何分解消息

 

 

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

 

20160419095047959.png

 

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

 

二、何时订阅

 

 

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

 

20160419095035431.jpg

 

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

 

三、对于数据仓库

 

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

 

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

 

20160419095024886.png
 

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

 

四、对于实时分析平台

 

 

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

 

20160419095012839.png

 

后期需要改进的:

 

   
  • roma的订阅能力,对于前端log并发解析的粒度

  • 智能的存储策略 动态调整没有被订阅消息的保存时间

   

 

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

  • 平安健康互联网数据库架构师。

  • 主要负责核心rdbms、分布式数据库、分布式缓存的架构设计及运维工作。


本文来自云栖社区合作伙伴"DBAplus",原文发布时间:2016-04-15

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL之存储引擎大全 -《从0到1-全面深刻理解MySQL系列-第五篇》
MySQL之存储引擎大全 -《从0到1-全面深刻理解MySQL系列-第五篇》
0 0
《高性能 MySQL》读书笔记
READ UNCOMMITTED(未提交读),同事务中某个语句的修改,即使没有提交,对其他事务也是可见的。这个也叫脏读。
0 0
【七天深入MySQL实战营】答疑汇总Day5 MySQL 开发规约实战
【开营第五课】【MySQL 开发规约实战】 讲师:芦火,阿里云运维专家。 课程内容:SQL语句编写规范;事务的使用与优化;开发中的常见问题与最佳实践。 答疑汇总:特别感谢班委@陈亮 同学
0 0
MySQL性能优化(一):MySQL架构与核心问题
在 MySQL 性能优化之前,你有必要重新再认识下 MySQL,便于后续更容易理解 MySQL 性能优化中涉及到的知识点。本文将从 MySQL 架构、核心问题来针对性展开讨论,这也将是 MySQL性能优化 系列文章的开篇之作。
0 0
【MySQL技术专题】分析MySQL的高可用架构技术分析和指南
【MySQL技术专题】分析MySQL的高可用架构技术分析和指南
0 0
【读书笔记】Mysql | 一图了解Mysql全貌
这段时间学习Mysql的笔记,对Mysql有个深入的了解。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
MySQL 开发规约实战
立即下载
MySQL高并发场景实战
立即下载
让 MySQL 原生分布式触手可及
立即下载