1、存储
CanalEventStore接口,主要包含put/get/ack/rollback的相关接口,put/get操作会组成一个生产者/消费者模式,每个store都会有存储大小设计,存储满了,put操作会阻塞等待get获取数据,所以不会无限占用存储,比如内存大小。
A、目前EventStore主要实现了memory模式,支持按照内存大小和内存记录数进行存储大小限制。
B、后续可开发基于本地文件的存储模式;
C、基于文件存储和内在存储,开发mixed模式,做成两级队列,内存buffer有空位时,将文件的数据诗篇到内在buffer中。
重要:实现基于mixed模式后,cananl才可以说是完成真正的消费/订阅的模型(取1份binlog数据,提供多个客户端消费,消费有快有慢,各自保留消费位点)
2、异常:
a、pid:2 nid:3 exception:setl:load miss data with keys:[MemoryPipeKey[identity=Identity [channelId=2,pipelineId=2,processId=14281213],time=1467701523657,dataType=DB_BATCH]]
b、pid:3 nid:4 exception:mainstem:pid:3 canal elapsed 174050 seconds no data
解答:从异常来看是因为GC导致临时内存对象数据丢弃,降低同步任务并行量试试
3、跨机房同步,导致延迟增大:
A、使用主库所在网段Node进行同步;
B、与传输带宽也有关系;
4、otter 同步报:table is
Canal与Otter相关问题梳理
最新推荐文章于 2023-06-02 11:13:43 发布