{"id":13458731,"url":"https://github.com/alibaba/otter","last_synced_at":"2025-04-23T20:53:45.641Z","repository":{"id":37335096,"uuid":"11997640","full_name":"alibaba/otter","owner":"alibaba","description":"阿里巴巴分布式数据库同步系统(解决中美异地机房)","archived":false,"fork":false,"pushed_at":"2024-05-25T10:39:10.000Z","size":12042,"stargazers_count":8102,"open_issues_count":335,"forks_count":2490,"subscribers_count":565,"default_branch":"master","last_synced_at":"2025-04-23T20:53:25.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-08-09T09:31:22.000Z","updated_at":"2025-04-21T05:39:27.000Z","dependencies_parsed_at":"2024-06-18T16:57:46.641Z","dependency_job_id":"c7fddd84-eb49-4bc6-adbb-990859c81191","html_url":"https://github.com/alibaba/otter","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fotter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fotter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fotter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fotter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibaba","download_url":"https://codeload.github.com/alibaba/otter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514767,"owners_count":21443208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T09:00:56.062Z","updated_at":"2025-04-23T20:53:45.616Z","avatar_url":"https://github.com/alibaba.png","language":"Java","funding_links":[],"categories":["Java","数据库管理系统","数据库中间件"],"sub_categories":["网络服务_其他"],"readme":"\u003ch1\u003e环境搭建 \u0026 打包\u003c/h1\u003e\n\u003cstrong\u003e环境搭建：\u003c/strong\u003e\n\u003col\u003e\n\u003cli\u003e进入 $otter_home/lib 目录\u003c/li\u003e\n\u003cli\u003e执行：bash install.sh\u003c/li\u003e\n\u003c/ol\u003e\n\u003cstrong\u003e打包：\u003c/strong\u003e\n\u003col\u003e\n\u003cli\u003e进入$otter_home目录\u003c/li\u003e\n\u003cli\u003e执行：mvn clean install -Dmaven.test.skip -Denv=release\u003c/li\u003e\n\u003cli\u003e发布包位置：$otter_home/target\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e项目背景\u003c/h1\u003e\n\u003cp\u003e\n   \u0026nbsp;\u0026nbsp;\u0026nbsp;阿里巴巴B2B公司，因为业务的特性，卖家主要集中在国内，买家主要集中在国外，所以衍生出了杭州和美国异地机房的需求，同时为了提升用户体验，整个机房的架构为双A，两边均可写，由此诞生了otter这样一个产品。 \u003c/p\u003e\n\u003cp\u003e\n   \u0026nbsp;\u0026nbsp;\u0026nbsp;otter第一版本可追溯到04~05年，此次外部开源的版本为第4版，开发时间从2011年7月份一直持续到现在，目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otter4。\n\u003c/p\u003e\n\u003cstrong\u003e目前同步规模：\u003c/strong\u003e\n\u003col\u003e\n\u003cli\u003e同步数据量6亿\u003c/li\u003e\n\u003cli\u003e文件同步1.5TB(2000w张图片)\u003c/li\u003e\n\u003cli\u003e涉及200+个数据库实例之间的同步\u003c/li\u003e\n\u003cli\u003e80+台机器的集群规模\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e项目介绍\u003c/h1\u003e\n\u003cp\u003e名称：otter ['ɒtə(r)]\u003c/p\u003e\n\u003cp\u003e译意： 水獭，数据搬运工\u003c/p\u003e\n\u003cp\u003e语言： 纯java开发\u003c/p\u003e\n\u003cp\u003e定位： 基于数据库增量日志解析，准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e工作原理\u003c/h1\u003e\n\u003cp\u003e\u003cimg width=\"848\" src=\"https://camo.githubusercontent.com/2988fbbc7ddfe94ed027cd71720b1ffa5912a635/687474703a2f2f646c322e69746579652e636f6d2f75706c6f61642f6174746163686d656e742f303038382f313138392f64343230636131342d326438302d336435352d383038312d6239303833363036613830312e6a7067\" height=\"303\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003e原理描述：\u003c/p\u003e\n\u003cp\u003e1.   基于Canal开源产品，获取数据库增量日志数据。 什么是Canal,  请\u003ca href=\"https://github.com/alibaba/canal\"\u003e点击\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2.   典型管理系统架构，manager(web管理)+node(工作节点)\u003c/p\u003e\n\u003cp\u003e       \u0026nbsp;\u0026nbsp;\u0026nbsp; a.  manager运行时推送同步配置到node节点\u003c/p\u003e\n\u003cp\u003e       \u0026nbsp;\u0026nbsp;\u0026nbsp; b.  node节点将同步状态反馈到manager上\u003c/p\u003e\n\u003cp\u003e3.  基于zookeeper，解决分布式状态调度的，允许多node节点之间协同工作. \u003c/p\u003e\n\u003ch3\u003e\n\u003ca name=\"%E4%BB%80%E4%B9%88%E6%98%AFcanal-\" class=\"anchor\" href=\"#%E4%BB%80%E4%B9%88%E6%98%AFcanal-\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e什么是canal? \u003c/h3\u003e\notter之前开源的一个子项目，开源链接地址：\u003ca href=\"http://github.com/alibaba/canal\"\u003ehttp://github.com/alibaba/canal\u003c/a\u003e\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\n\u003ca name=\"introduction\" class=\"anchor\" href=\"#introduction\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003eIntroduction\u003c/h1\u003e\n\u003cp\u003eSee the page for introduction: \u003ca class=\"internal present\" href=\"https://github.com/alibaba/otter/wiki/Introduction\"\u003eIntroduction\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003e\n\u003ca name=\"quickstart\" class=\"anchor\" href=\"#quickstart\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003eQuickStart\u003c/h1\u003e\n\u003cp\u003eSee the page for quick start: \u003ca class=\"internal present\" href=\"https://github.com/alibaba/otter/wiki/QuickStart\"\u003eQuickStart\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\n\u003ca name=\"adminguide\" class=\"anchor\" href=\"#adminguide\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003eAdminGuide\u003c/h1\u003e\n\u003cp\u003eSee the page for admin deploy guide : \u003ca class=\"internal present\" href=\"https://github.com/alibaba/otter/wiki/Adminguide\"\u003eAdminGuide\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e相关文档\u003c/h1\u003e\n\u003cp\u003eSee the page for 文档: \u003ca class=\"internal present\" href=\"https://github.com/alibaba/otter/wiki/%E7%9B%B8%E5%85%B3ppt%26pdf\"\u003e相关PPT\u0026amp;PDF\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e常见问题\u003c/h1\u003e\n\u003cp\u003eSee the page for FAQ: \u003ca class=\"internal present\" href=\"https://github.com/alibaba/otter/wiki/Faq\"\u003eFAQ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n\n\u003ch1\u003e\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-\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e版本相关: \u003c/h1\u003e\n\u003cp\u003e1. 建议版本：4.2.15  (otter开源版本从内部演变而来，所以初始版本直接从4.x开始) \u003c/p\u003e\n\u003cp\u003e2. 下载发布包：\u003ca href=\"https://github.com/alibaba/otter/releases\"\u003edownload \u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e3. maven依赖 ： 暂无 \u003c/p\u003e\n\n\u003ch1\u003e相关开源\u003c/h1\u003e\n\u003col\u003e\n\u003cli\u003e阿里巴巴mysql数据库binlog的增量订阅\u0026消费组件：\u003ca href=\"http://github.com/alibaba/canal\"\u003ehttp://github.com/alibaba/canal\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e阿里巴巴去Oracle数据迁移同步工具(目标支持MySQL/DRDS)：\u003ca href=\"http://github.com/alibaba/yugong\"\u003ehttp://github.com/alibaba/yugong\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003cp\u003e \u003c/p\u003e\n\u003ch1\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e问题反馈\u003c/h1\u003e\n\u003ch3\u003e\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\"\u003e\u003cspan class=\"octicon octicon-link\"\u003e\u003c/span\u003e\u003c/a\u003e注意：canal\u0026amp;otter QQ讨论群已经建立，群号：161559791 ，欢迎加入进行技术讨论。\u003c/h3\u003e\n\n\u003cp\u003e1.  \u003cspan\u003eqq交流群： 161559791\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003e2.  \u003c/span\u003e\u003cspan\u003e邮件交流： jianghang115@gmail.com\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003e3.  \u003c/span\u003e\u003cspan\u003e新浪微博： agapple0002\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003e4.  \u003c/span\u003e\u003cspan\u003e报告issue：\u003c/span\u003e\u003ca href=\"https://github.com/alibaba/otter/issues\"\u003eissues\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e \u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fotter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibaba%2Fotter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fotter/lists"}