[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4191":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":29,"discoverSource":30},4191,"otter","alibaba\u002Fotter","alibaba","阿里巴巴分布式数据库同步系统(解决中美异地机房)","",null,"Java",8126,2466,556,319,0,2,6,1,41,"Apache License 2.0",false,"master",true,[],"2026-06-12 02:01:00","\u003Ch1>环境搭建 & 打包\u003C\u002Fh1>\n\u003Cstrong>环境搭建：\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>进入 $otter_home\u002Flib 目录\u003C\u002Fli>\n\u003Cli>执行：bash install.sh\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cstrong>打包：\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>进入$otter_home目录\u003C\u002Fli>\n\u003Cli>执行：mvn clean install -Dmaven.test.skip -Denv=release\u003C\u002Fli>\n\u003Cli>发布包位置：$otter_home\u002Ftarget\u003C\u002Fli>\n\u003C\u002Fol>\n\n\u003Ch1>\n\u003Ca name=\"%E9%A1%B9%E7%9B%AE%E8%83%8C%E6%99%AF\" class=\"anchor\" href=\"#%E9%A1%B9%E7%9B%AE%E8%83%8C%E6%99%AF\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>项目背景\u003C\u002Fh1>\n\u003Cp>\n   &nbsp;&nbsp;&nbsp;阿里巴巴B2B公司，因为业务的特性，卖家主要集中在国内，买家主要集中在国外，所以衍生出了杭州和美国异地机房的需求，同时为了提升用户体验，整个机房的架构为双A，两边均可写，由此诞生了otter这样一个产品。 \u003C\u002Fp>\n\u003Cp>\n   &nbsp;&nbsp;&nbsp;otter第一版本可追溯到04~05年，此次外部开源的版本为第4版，开发时间从2011年7月份一直持续到现在，目前阿里巴巴B2B内部的本地\u002F异地机房的同步需求基本全上了otter4。\n\u003C\u002Fp>\n\u003Cstrong>目前同步规模：\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>同步数据量6亿\u003C\u002Fli>\n\u003Cli>文件同步1.5TB(2000w张图片)\u003C\u002Fli>\n\u003Cli>涉及200+个数据库实例之间的同步\u003C\u002Fli>\n\u003Cli>80+台机器的集群规模\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch1>\n\u003Ca name=\"%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D\" class=\"anchor\" href=\"#%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>项目介绍\u003C\u002Fh1>\n\u003Cp>名称：otter ['ɒtə(r)]\u003C\u002Fp>\n\u003Cp>译意： 水獭，数据搬运工\u003C\u002Fp>\n\u003Cp>语言： 纯java开发\u003C\u002Fp>\n\u003Cp>定位： 基于数据库增量日志解析，准实时同步到本机房或异地机房的mysql\u002Foracle数据库. 一个分布式数据库同步系统\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86\" class=\"anchor\" href=\"#%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>工作原理\u003C\u002Fh1>\n\u003Cp>\u003Cimg width=\"848\" src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F2988fbbc7ddfe94ed027cd71720b1ffa5912a635\u002F687474703a2f2f646c322e69746579652e636f6d2f75706c6f61642f6174746163686d656e742f303038382f313138392f64343230636131342d326438302d336435352d383038312d6239303833363036613830312e6a7067\" height=\"303\" alt=\"\">\u003C\u002Fp>\n\u003Cp>原理描述：\u003C\u002Fp>\n\u003Cp>1.   基于Canal开源产品，获取数据库增量日志数据。 什么是Canal,  请\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fcanal\">点击\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>2.   典型管理系统架构，manager(web管理)+node(工作节点)\u003C\u002Fp>\n\u003Cp>       &nbsp;&nbsp;&nbsp; a.  manager运行时推送同步配置到node节点\u003C\u002Fp>\n\u003Cp>       &nbsp;&nbsp;&nbsp; b.  node节点将同步状态反馈到manager上\u003C\u002Fp>\n\u003Cp>3.  基于zookeeper，解决分布式状态调度的，允许多node节点之间协同工作. \u003C\u002Fp>\n\u003Ch3>\n\u003Ca name=\"%E4%BB%80%E4%B9%88%E6%98%AFcanal-\" class=\"anchor\" href=\"#%E4%BB%80%E4%B9%88%E6%98%AFcanal-\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>什么是canal? \u003C\u002Fh3>\notter之前开源的一个子项目，开源链接地址：\u003Ca href=\"http:\u002F\u002Fgithub.com\u002Falibaba\u002Fcanal\">http:\u002F\u002Fgithub.com\u002Falibaba\u002Fcanal\u003C\u002Fa>\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"introduction\" class=\"anchor\" href=\"#introduction\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>Introduction\u003C\u002Fh1>\n\u003Cp>See the page for introduction: \u003Ca class=\"internal present\" href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fwiki\u002FIntroduction\">Introduction\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"quickstart\" class=\"anchor\" href=\"#quickstart\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>QuickStart\u003C\u002Fh1>\n\u003Cp>See the page for quick start: \u003Ca class=\"internal present\" href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fwiki\u002FQuickStart\">QuickStart\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"adminguide\" class=\"anchor\" href=\"#adminguide\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>AdminGuide\u003C\u002Fh1>\n\u003Cp>See the page for admin deploy guide : \u003Ca class=\"internal present\" href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fwiki\u002FAdminguide\">AdminGuide\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3\" class=\"anchor\" href=\"#%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>相关文档\u003C\u002Fh1>\n\u003Cp>See the page for 文档: \u003Ca class=\"internal present\" href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fwiki\u002F%E7%9B%B8%E5%85%B3ppt%26pdf\">相关PPT&amp;PDF\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98\" class=\"anchor\" href=\"#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>常见问题\u003C\u002Fh1>\n\u003Cp>See the page for FAQ: \u003Ca class=\"internal present\" href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fwiki\u002FFaq\">FAQ\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n\n\u003Ch1>\n\u003Ca name=\"%E7%89%88%E6%9C%AC%E7%9B%B8%E5%85%B3-\" class=\"anchor\" href=\"#%E7%89%88%E6%9C%AC%E7%9B%B8%E5%85%B3-\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>版本相关: \u003C\u002Fh1>\n\u003Cp>1. 建议版本：4.2.15  (otter开源版本从内部演变而来，所以初始版本直接从4.x开始) \u003C\u002Fp>\n\u003Cp>2. 下载发布包：\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Freleases\">download \u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>3. maven依赖 ： 暂无 \u003C\u002Fp>\n\n\u003Ch1>相关开源\u003C\u002Fh1>\n\u003Col>\n\u003Cli>阿里巴巴mysql数据库binlog的增量订阅&消费组件：\u003Ca href=\"http:\u002F\u002Fgithub.com\u002Falibaba\u002Fcanal\">http:\u002F\u002Fgithub.com\u002Falibaba\u002Fcanal\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>阿里巴巴去Oracle数据迁移同步工具(目标支持MySQL\u002FDRDS)：\u003Ca href=\"http:\u002F\u002Fgithub.com\u002Falibaba\u002Fyugong\">http:\u002F\u002Fgithub.com\u002Falibaba\u002Fyugong\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n\n\u003Cp> \u003C\u002Fp>\n\u003Ch1>\n\u003Ca name=\"%E9%97%AE%E9%A2%98%E5%8F%8D%E9%A6%88\" class=\"anchor\" href=\"#%E9%97%AE%E9%A2%98%E5%8F%8D%E9%A6%88\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>问题反馈\u003C\u002Fh1>\n\u003Ch3>\n\u003Ca name=\"%E6%B3%A8%E6%84%8Fcanalotter-qq%E8%AE%A8%E8%AE%BA%E7%BE%A4%E5%B7%B2%E7%BB%8F%E5%BB%BA%E7%AB%8B%E7%BE%A4%E5%8F%B7161559791-%E6%AC%A2%E8%BF%8E%E5%8A%A0%E5%85%A5%E8%BF%9B%E8%A1%8C%E6%8A%80%E6%9C%AF%E8%AE%A8%E8%AE%BA\" class=\"anchor\" href=\"#%E6%B3%A8%E6%84%8Fcanalotter-qq%E8%AE%A8%E8%AE%BA%E7%BE%A4%E5%B7%B2%E7%BB%8F%E5%BB%BA%E7%AB%8B%E7%BE%A4%E5%8F%B7161559791-%E6%AC%A2%E8%BF%8E%E5%8A%A0%E5%85%A5%E8%BF%9B%E8%A1%8C%E6%8A%80%E6%9C%AF%E8%AE%A8%E8%AE%BA\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>注意：canal&amp;otter QQ讨论群已经建立，群号：161559791 ，欢迎加入进行技术讨论。\u003C\u002Fh3>\n\n\u003Cp>1.  \u003Cspan>qq交流群： 161559791\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cspan>2.  \u003C\u002Fspan>\u003Cspan>邮件交流： jianghang115@gmail.com\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cspan>3.  \u003C\u002Fspan>\u003Cspan>新浪微博： agapple0002\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cspan>4.  \u003C\u002Fspan>\u003Cspan>报告issue：\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fotter\u002Fissues\">issues\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp> \u003C\u002Fp>\n","阿里巴巴Otter是一个分布式数据库同步系统，主要用于解决中美异地机房之间的数据同步问题。其核心功能包括基于数据库增量日志解析的准实时数据同步，支持MySQL和Oracle数据库间的同步。Otter采用Java开发，具有典型的管理系统架构（manager+node），并通过Zookeeper实现多节点协同工作，确保了系统的高可用性和稳定性。该系统适用于需要跨地域进行大规模数据同步的场景，如跨国公司的本地与异地数据中心之间保持数据一致性的需求。","2026-06-11 02:58:55","top_language"]