阿里云精卫中间件研发

我要开发同款
余华咏2023年12月13日
204阅读
开发技术前端css、html5、mysqljava
授权协议GPL许可

作品详情

精卫填海(简称精卫)是一个基于MySQL数据库的数据复制组件,远期目标是构建一个完善可接入多种不同类型源数据的实时数据复制框架。
精卫提供如下功能:
内置多种复制任务:解析MySQL的binlog到数据库(MySQL、Oracle),解析MySQL的binlog到Meta消息中间件。
保证数据不丢
如果有多个消费者,能够保证一个消费者挂掉或很慢,其他消费者不会受到影响。
支持用户自定义复制任务:用户可以根据具体业务需求自由定制Extractor和Applier,就可以很方便地创建的新的复制任务。
自定义任务灵活部署:用户自定义复制任务既可以部署在业务服务器,也可部署在精卫集群。
数据过滤功能:用户通过web控制台,就可以灵活地添加、配置过滤器,虑选满足业务需求的数据。
丰富的日志展现形式:用户通过web页面,不但可以查看复制任务运行时的实时数据,而且通过查看历史数据分析复制任务的运行情况,为业务分析、bug定位、监控报警提供便利。
数据再散列:利用TDDL完善的分库分表规则,可以实现数据的再散列。
多种途径监控、告警:用户可通过旺旺、短信、邮件的形式接受运行时告警,及时了解系统运行的监控状况,为运维提供便利。

数据自动迁移引擎,海量数据自动运维工具,可用于对用户无影响的自动扩容和缩容,数据平滑迁移,以及异构数据源迁移,目前已经完成了214次业务迁移或扩容。
愚公架构组成:
1. 一个Jvm Container对应多个instance,每个instance对应于一张表的迁移任务
2. instance分为三部分
a. extractor (从源数据库上提取数据,可分为全量/增量实现)
b. translator (将源库上的数据按照目标库的需求进行自定义转化)
c. applier (将数据更新到目标库,可分为全量/增量/对比的实现)
yugong架构特点:
1.全量+增量任务 (减少复杂度)
2.JDBC协议 (解决环境兼容性)
3.oracle物化视图 (解决记录增量日志)
4.引入translator扩展 (解决异构数据转化)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论