mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
Updated Introduction (markdown)
@@ -146,10 +146,10 @@
|
||||
</ul>
|
||||
<h2>增量订阅/消费设计</h2>
|
||||
<p><img width="427" src="http://dl.iteye.com/upload/attachment/0080/3297/9d7ed13e-6a86-386d-92f4-852238c475bf.jpg" alt="" height="524"></p>
|
||||
<p>具体的协议格式,可参见:<a href="https://github.com/alibabatech/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto">CanalProtocol.proto</a></p>
|
||||
<p>具体的协议格式,可参见:<a href="https://github.com/alibaba/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto">CanalProtocol.proto</a></p>
|
||||
<p>get/ack/rollback协议介绍:</p>
|
||||
<ul>
|
||||
<li>Message getWithoutAck(int batchSize),允许指定batchSize,一次可以获取多条,每次返回的对象为Message,包含的内容为:<br>a. batch id 唯一标识<br>b. entries 具体的数据对象,对应的数据对象格式:<a href="https://github.com/alibabatech/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto">EntryProtocol.proto</a>
|
||||
<li>Message getWithoutAck(int batchSize),允许指定batchSize,一次可以获取多条,每次返回的对象为Message,包含的内容为:<br>a. batch id 唯一标识<br>b. entries 具体的数据对象,对应的数据对象格式:<a href="https://github.com/alibaba/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto">EntryProtocol.proto</a>
|
||||
</li>
|
||||
<li>void rollback(long batchId),顾命思议,回滚上次的get请求,重新获取数据。基于get获取的batchId进行提交,避免误操作</li>
|
||||
<li>void ack(long batchId),顾命思议,确认已经消费成功,通知server删除数据。基于get获取的batchId进行提交,避免误操作</li>
|
||||
@@ -168,7 +168,7 @@
|
||||
<li>进行ack时,需要按照mark的顺序进行数序ack,不能跳跃ack. ack会删除当前的mark标记,并将对应的mark位置更新为last ack cusor</li>
|
||||
<li>一旦出现异常情况,客户端可发起rollback情况,重新置位:删除所有的mark, 清理get请求位置,下次请求会从last ack cursor继续往后取</li>
|
||||
</ul>
|
||||
<h3>数据对象格式:<a href="https://github.com/alibabatech/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto" style="font-size: 14px; line-height: 1.5; color: #bc2a4d; text-decoration: underline;">EntryProtocol.proto</a>
|
||||
<h3>数据对象格式:<a href="https://github.com/alibaba/canal/blob/master/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto" style="font-size: 14px; line-height: 1.5; color: #bc2a4d; text-decoration: underline;">EntryProtocol.proto</a>
|
||||
</h3>
|
||||
<pre name="code" class="java">Entry
|
||||
Header
|
||||
|
||||
Reference in New Issue
Block a user