canal_mysql_elasticsearch_sync:基于canal的mysql和elasticsearch实时同步方案,支持增量同步和全量同步-源码

上传者: 42151729 | 上传时间: 2021-09-01 15:24:36 | 文件大小: 56KB | 文件类型: ZIP
canal_mysql_elasticsearch_sync支持请星 :sparkles: 交流Q群:733688083 canal于v1.1.2版本后,已支持自动同步到Elasticsearch。赞canal! 基于运河的Mysql的与Elasticsearch实时同步的的JavaWeb服务。 canal是阿里巴巴mysql数据库binlog的增量订阅和消费组件。 工作原理 全量 暴露的Http接口(接口定义见 ),待调用后开启后台线程,通过主键分批同步指定数据库中数据到Elasticsearch 读取数据库会加读锁主键必须为数字类型 过程 首先会根据所给的数据库主键分段,拿到最大的主键数字max_id;

文件下载

资源详情

[{"title":"( 46 个子文件 56KB ) canal_mysql_elasticsearch_sync:基于canal的mysql和elasticsearch实时同步方案,支持增量同步和全量同步-源码","children":[{"title":"canal_mysql_elasticsearch_sync-master","children":[{"title":".gitattributes <span style='color:#111;'> 29B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"star","children":[{"title":"sync","children":[{"title":"elasticsearch","children":[{"title":"service","children":[{"title":"impl","children":[{"title":"ElasticsearchServiceImplTest.java <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"CanalMysqlElasticsearchSyncApplicationTests.java <span style='color:#111;'> 365B </span>","children":null,"spread":false},{"title":"CommonTest.java <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"assembly","children":[{"title":"release.xml <span style='color:#111;'> 1.47KB </span>","children":null,"spread":false},{"title":"dev.xml <span style='color:#111;'> 1.47KB </span>","children":null,"spread":false}],"spread":true},{"title":"resources","children":[{"title":"application.properties <span style='color:#111;'> 923B </span>","children":null,"spread":false},{"title":"mapping.properties <span style='color:#111;'> 396B </span>","children":null,"spread":false},{"title":"mybatis","children":[{"title":"mapper","children":[{"title":"BaseMapper.xml <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false}],"spread":true},{"title":"mybatis-config.xml <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"static","children":[{"title":"index.html <span style='color:#111;'> 50.86KB </span>","children":null,"spread":false}],"spread":true},{"title":"logback.xml <span style='color:#111;'> 871B </span>","children":null,"spread":false}],"spread":true},{"title":"bin","children":[{"title":"stop.sh <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"startup.sh <span style='color:#111;'> 2.73KB </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"star","children":[{"title":"sync","children":[{"title":"elasticsearch","children":[{"title":"service","children":[{"title":"ElasticsearchService.java <span style='color:#111;'> 561B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"SyncServiceImpl.java <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"MappingServiceImpl.java <span style='color:#111;'> 3.80KB </span>","children":null,"spread":false},{"title":"ElasticsearchServiceImpl.java <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"TransactionalServiceImpl.java <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false}],"spread":false},{"title":"TransactionalService.java <span style='color:#111;'> 560B </span>","children":null,"spread":false},{"title":"SyncService.java <span style='color:#111;'> 476B </span>","children":null,"spread":false},{"title":"MappingService.java <span style='color:#111;'> 1.31KB </span>","children":null,"spread":false}],"spread":true},{"title":"scheduling","children":[{"title":"CanalScheduling.java <span style='color:#111;'> 3.11KB </span>","children":null,"spread":false}],"spread":false},{"title":"client","children":[{"title":"ElasticsearchClient.java <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"CanalClient.java <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false}],"spread":false},{"title":"event","children":[{"title":"DeleteAbstractCanalEvent.java <span style='color:#111;'> 524B </span>","children":null,"spread":false},{"title":"AbstractCanalEvent.java <span style='color:#111;'> 641B </span>","children":null,"spread":false},{"title":"UpdateAbstractCanalEvent.java <span style='color:#111;'> 524B </span>","children":null,"spread":false},{"title":"InsertAbstractCanalEvent.java <span style='color:#111;'> 524B </span>","children":null,"spread":false}],"spread":false},{"title":"model","children":[{"title":"DatabaseTableModel.java <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"IndexTypeModel.java <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"request","children":[{"title":"SyncByTableRequest.java <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false}],"spread":false},{"title":"response","children":[{"title":"Response.java <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"controller","children":[{"title":"SyncController.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"handler","children":[{"title":"ControllerHandler.java <span style='color:#111;'> 913B </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"dao","children":[{"title":"BaseDao.java <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false}],"spread":false},{"title":"util","children":[{"title":"JsonUtil.java <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false}],"spread":false},{"title":"listener","children":[{"title":"InsertCanalListener.java <span style='color:#111;'> 2.19KB </span>","children":null,"spread":false},{"title":"UpdateCanalListener.java <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"DeleteCanalListener.java <span style='color:#111;'> 2.04KB </span>","children":null,"spread":false},{"title":"AbstractCanalListener.java <span style='color:#111;'> 2.56KB </span>","children":null,"spread":false}],"spread":false},{"title":"CanalMysqlElasticsearchSyncApplication.java <span style='color:#111;'> 779B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 11.09KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 3.15KB </span>","children":null,"spread":false},{"title":"pom.xml <span style='color:#111;'> 7.37KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 249B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明