From 7c397261c1fcdc107b7a5d81a45895b44a081cb6 Mon Sep 17 00:00:00 2001 From: agapple Date: Tue, 5 Feb 2013 08:34:01 -0800 Subject: [PATCH] =?UTF-8?q?Updated=20canal=E4=BB=8B=E7=BB=8D=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- canal介绍.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/canal介绍.md b/canal介绍.md index 6809d85..cb06271 100644 --- a/canal介绍.md +++ b/canal介绍.md @@ -167,6 +167,39 @@
  • 进行ack时,需要按照mark的顺序进行数序ack,不能跳跃ack. ack会删除当前的mark标记,并将对应的mark位置更新为last ack cusor
  • 一旦出现异常情况,客户端可发起rollback情况,重新置位:删除所有的mark, 清理get请求位置,下次请求会从last ack cursor继续往后取
  • +

    数据对象格式:EntryProtocol.proto +

    +
    Entry
    +	Header
    +		logfileName [binlog文件名]
    +		logfileOffset [binlog position]
    +		executeTime [发生的变更]
    +		schemaName 
    +		tableName
    +		eventType [insert/update/delete类型]
    +	entryType 	[事务头BEGIN/事务尾END/数据ROWDATA]
    +	storeValue 	[byte数据,可展开,对应的类型为RowChange]
    +	
    +RowChange
    +	isDdl		[是否是ddl变更操作,比如create table/drop table]
    +	sql		[具体的ddl sql]
    +	rowDatas	[具体insert/update/delete的变更数据,可为多条,1个binlog event事件可对应多条变更,比如批处理]
    +		beforeColumns [Column类型的数组]
    +		afterColumns [Column类型的数组]
    +		
    +Column 
    +	index		
    +	sqlType		[jdbc type]
    +	name		[column name]
    +	isKey		[是否为主键]
    +	updated		[是否发生过变更]
    +	isNull		[值是否为null]
    +	value		[具体的内容,注意为文本]
    +

    说明:

    +

    HA机制设计

    canal的ha分为两部分,canal server和canal client分别有对应的ha实现