利用OTTER实现准实时ETL、数据同步
利用OTTER实现高效、复杂、实时性高的数据同步场景;数据同步模式涵盖1源表->1目标表、N源表(在/不在同一实例)->1目标表、1源表->N目标表(在/不在同一实例)、自定义同步
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
一、需求起因
在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。
这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。
谈谈对Canal(增量数据订阅与消费)的理解
概述
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql(也支持mariaDB)。
起源:早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。
otter部署【原创】
环境IP:10.10.6.171 部署:mysql源库IP:10.10.6.172 部署:mysql目标库IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上)
由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROWlog-bin=mysql-binexpire_logs_days=3binlog_format=ROW
otter为纯java编写(manager,node,canal都为java编写),所以需要安装JDK。
canal 高可用介绍(4)
概述
这篇文章的目的是为了讲清楚canal的HA机制,至于什么是HA机制直接套用canal官网原话,因为我自认为没法描述的更好。而我直接从代码的角度去分析如何实现HA的,其实也就是zookeeper的分布式锁的使用方法。