首页 > 其他分享 >Canal组件

Canal组件

时间:2023-06-27 18:34:00浏览次数:40  
标签:Canal binary slave log master MySQL 组件

Canal [kə'næl],译意为水道/管道/沟渠,canal是阿里巴巴旗下的一款开源项目,基于Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。GitHub的地址:https://github.com/alibaba/canal

Canal是基于mysql的主从同步来实现的,MySQL主从同步的原理如下:

 

  • 1)MySQL master 将数据变更写入二进制日志( binary log),其中记录的数据叫做binary log events

  • 2)MySQL slave 将 master 的 binary log events拷贝到它的中继日志(relay log)

  • 3)MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

而Canal就是把自己伪装成MySQL的一个slave节点,从而监听master的binary log变化。再把得到的变化信息通知给Canal的客户端,进而完成对其它数据库的同步。

 

标签:Canal,binary,slave,log,master,MySQL,组件
From: https://www.cnblogs.com/wekenyblog/p/17509668.html

相关文章

  • 庆军之blazor动态组件的研究与总结
    只上代码:rootcontrol.ControlParams=newDictionary<string,object>();rootcontrol.ControlParams["a"]="ssss";rootcontrol.Children.Add(newMControlParam(){ControlType=typeof(Layout),......
  • VUE框架组件中通信方式(3)
    useAttrs使用方式类似于props传值,useAttrs既可以传数据,也可以传事件。如果父组件给子组件传递的参数,在子组件中同时使用props和useAttrs获取,那么参数只在props中生效,也就是说props的优先级高于useAttrs。示例代码如下://template><div><h1>useAttrs</h1><el-but......
  • 【HarmonyOS】低代码开发使用module中的自定义组件
     “Module是应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module,每个Module分为Ability和Library两种类型。”这个是HarmonyOS......
  • react的函数式组件中使用ref获取到子组件的方法为undefined
    我暂时遇到了两种情况。第一种情况:useImperativeHandle函数写错useImperativeHandle的第二个参数的返回值是作为ref.current的值,但是我写箭头函数写快了,忘记返回值了。useImperativeHandle(ref,()=>{foo},[foo])//错误,这样没有返回值,所以ref.current为undefineduseImp......
  • Vue如何在页面加载时将url的参数赋值给组件
    <template> <inputv-model="loginForm.username" name="username" type="text" tabindex="1" auto-complete="on" /><inputv-model="loginForm.password":type="passwordType"......
  • 前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求
    前端Vue自定义加载中loading加载结束end组件可用于分页展示页面加载请求,请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13219效果图如下:实现代码如下:cc-paging使用方法<!--加载中用法isLoading:是否加载isEnd:是否结束加载--><cc-paging:isLoad......
  • 【Vue3】Vue3中常用的组件传参方式
    props/$emit父传子(自定义属性props)//父组件代码<Son:name="test"/>//子组件代码<div>{{name}}</div>props:{name:{type:String,default:"default",},}子传父(自定义this.$emit)//子组件代码<button@click=&qu......
  • 【Vue】Vue3+Vite 实现 SVG 组件自动加载 icons 目录下所有文件
    1.安装依赖插件vite-plugin-svg-iconsvite-plugin-svg-icons用于生成svg雪碧图。特点:1.预加载在项目运行时就生成所有图标,只需操作一次dom2.高性能内置缓存,仅当文件被修改时才会重新生成vite-plugin-svg-icons官方文档pnpmaddvite-plugin-svg-icons2.安装......
  • 【TypeScript】Element 组件导入在 TypeScript 5 报错:模块 ““element-plus““ 没有
    报错现象解决方法typescript5.0版本升级,使用了compilerOptions.moduleResolution:"bundler"的模块编译选项。moduleResolution:模块解析策略,是指编译器在查找导入模块内容时所遵循的流程因此目前要解决报错,我们只需要修改tsconfig.json下的为node就行。/*Bundle......
  • form组件
    form组件在我们日常填写注册信息或者报名信息时,所访问的网页,在输入信息有错误时就显示一些后端传入的提示。我们当然可以通过ajax绑定事件来从后端取一些提示,但是表单是个整体,如果每个输入框都需要我们完整的写一轮这么一套逻辑,这就太麻烦了,所以针对表单标签,django提供了form组......