首页 > 数据库 >mysql分库表实现大宽表逻辑-canal/es

mysql分库表实现大宽表逻辑-canal/es

时间:2024-09-06 09:52:07浏览次数:5  
标签:canal 分库 admin ip register 大宽表 mysql port

大宽表落地

背景

mysql分库分表后,很多页面查询操作不走分片键,会导致数据库压力很大,查询效率极低的问题

场景设计:

  1. 设计一张索引表,以下叫大宽表,将需要查询的业务字段放到一张表
  2. 解耦业务逻辑,业务不需主动维护此表
  3. 利用 canal-admin/canal-developer/canal-adatper+rocketMq 实现大宽表数据维护
  4. 分库分表设计逻辑请参考** 此处不过多说明

数据同步canal搭建及配置

canal-admin

页面配置使用

## 官网下载
tar -xvf canal.admin-1.1.7.tar.gz -C ./canal-admin/
vim application.yml 

## 修改配置文件 数据保存到数据库
server:
  port: 8089
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

spring.datasource:
  address: 
  database: canal_manager
  username: 
  password: 
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://${spring.datasource.address}/${spring.datasource.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false
  hikari:
    maximum-pool-size: 30
    minimum-idle: 1

canal:
  adminUser: admin
  adminPasswd: admin

启动
sh startup.sh


启动后 访问地址 http://localhost:8089 admin/123456

canal-deployer

同步binlog服务,可部署多台

 mkdir canal-deployer
tar -xvf canal.deployer-1.1.7.tar.gz -C ./canal-deployer


vim canal_local.properties
# register ip
canal.register.ip = 172.0.0.1

# canal admin config
canal.admin.manager = 172.0.0.1:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto = true
canal.admin.register.cluster =

## 此处一定要用local启动,否则读取本地文件
sh startup.sh local

cannal-instace 页面配置

集群主配置
#################################################
######### 		common argument		#############
#################################################
# tcp bind ip
canal.ip =
# register ip to zookeeper
canal.register.ip =
canal.port = 11111
canal.metrics.pull.port = 11112
# canal instance user/passwd
canal.user = canal
canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458

# canal admin config
canal.admin.manager = 172.0.0.1:8089
canal.admin.port = 11110
#canal.admin.user = admin
#canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441

canal.zkServers = zk
# flush data to zk
canal.zookeeper.flush.period 

标签:canal,分库,admin,ip,register,大宽表,mysql,port
From: https://blog.csdn.net/stcauliu55/article/details/141929824

相关文章

  • 部分库函数及其模拟
     前言:当我们学习c/c++库函数的时候,我们可以用网站cplusplus.com-TheC++ResourcesNetwork来进行查阅,学习。 库函数:1.字符串函数字符串函数一般要用到头文件:<string.h> 1.1求字符串长度strlensize_tstrlen(constchar*str);1.首先,字符串是以\0来......
  • Java后端微服务架构下的数据库分库分表:Sharding-Sphere
    Java后端微服务架构下的数据库分库分表:Sharding-Sphere大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着微服务架构的广泛应用,数据库层面的扩展性问题逐渐凸显。Sharding-Sphere作为一个分布式数据库中间件,提供了数据库分库分表的能力,帮助开发者解......
  • 安装Canal
    安装和配置Canal--转载请注明地址来源下面我们就开启mysql的主从同步机制,让Canal来模拟salve1.开启MySQL主从Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以。这里以之前用Docker运行的mysql为例:1.1.开启binlog打开mysql容器挂载的日志文件,我的在/tm......
  • linux下试验中间件canal的example示例-binlog日志的实时获取显示以及阿里巴巴中间件ca
    一、linux下试验中间件canal的example示例-binlog日志的实时获取显示    今天重装mysql后,进行了canal的再次试验,原来用的mysql5.7,今天重装直接换了5.6算了。反正测试服务器的mysql也不常用。canal启动后日志显示examplepreparetofindstartpositionjustshowmaste......
  • 阿里巴巴中间件canal的搭建和使用以及linux命令下使用mail发送html格式的邮件
    一、阿里巴巴中间件canal的搭建和使用    canal可以用来监控数据库数据的变化(binlog日志),从而获得指定数据的变化。canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求时开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅......
  • 【面试】一文搞懂MySQL的分库分表!
            MySQL分库分表是一种数据库优化手段,通常用于应对数据量巨大、并发量高的场景。随着系统数据的增长,单个数据库可能难以承受高负载,进而影响性能和可扩展性。分库分表的目标是将数据分散到多个库或表中,从而减少单一库或表的压力,提高系统性能。目录一我们为什......
  • 京东面试:mysql分库分表,深度翻页太慢,如何解决
    京东面试:mysql分库分表,深度翻页太慢,如何解决?在40岁老架构师尼恩的读者交流群(50+)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein希音、shopee、百度、网易的面试资格,遇到很多很重要的面试题:mysql分库分表,深度翻页太慢,如何解决?分库分表后,分页......
  • canal同步mysql,监听单实例,多实例配置
    1、下载canal安装包canal.adapter-1.1.7.tar.gzcanal.deployer-1.1.7.tar.gz2、修改涉及的文件canal_deployer:/conf/canal.properties/conf/example/instance.propertiescanal_adapter:/conf/application.yml/conf/rdb在rdb中添加对应的数据配置表,即便监听多个mysq......
  • 分库分表
    一、数据库性能影响因素数据量MySQL单库数据量在5000万以内性能比较好,超过阈值后性能会随着数据量的增大而变弱。MySQL单表的数据量是500w-1000w之间性能比较好,超过1000w性能也会下降(因为表数据为1000万时建立的索引如果是B+Tree类型的话一般树高在3~5之间,所以查询的速度自......
  • canal数据同步工具介绍与应用
    canal服务canal介绍canal版本与环境canal服务集canal应用场景:canal常见问题xml配置问题连接认证问题jar版本问题连接问题canal介绍‌1、Canal是‌阿里巴巴开源的‌MySQL增量数据订阅和消费工具,通过模拟MySQL的‌slave与‌master交互,捕获‌binarylog事件。2、C......