云事业群CTO线技术晋升考核机试题-分布式专题-D 分布式数据同步

这篇具有很好参考价值的文章主要介绍了云事业群CTO线技术晋升考核机试题-分布式专题-D 分布式数据同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分布式篇-D 分布式数据同步

  作者:田超凡

1 缓存一致性产生背景

答:当需要频繁访问数据库的时候,虽然数据库底层基于B+索引检索数据,但是仍然会十分消耗磁盘IO资源,导致数据库访问压力增加。

此时可以基于缓存设计来减轻数据库访问压力。

2 多级缓存架构设计方案

答:多级缓存架构设计采用的设计模式是装饰者模式。

  1. 首先是JVM内置缓存,如ehcache、oscache。数据同步可以基于RMI机制(JVM和JVM之间的通讯)实现,效率比较低。
  2. 其次是外置缓存,如redis、memcached等,先查内置缓存,内置缓存没有再查外置缓存,外置缓存没有再查数据库,然后同步数据到外置和内置缓存中。

3 Mysql与Redis缓存一致性原理

答:

  1. 基本查询流程:

首先从redis缓存中查询数据,如果能查到就直接返回客户端,如果不能查到就再到数据库中查询,把查询到的数据同步到redis缓存中,再返回查询结果给客户端。

  1. 基本数据同步实现原理:

大多数场景Redis都是作为只读缓存,当mysql做增量写操作时,会同步到Redis,此时分以下几种情况讨论:

  1. Insert db,insert redis 增量同步
  2. Update db,清除redis缓存,懒加载
  3. Update db,更新redis缓存,增量同步
  4. Delete db,  清除redis缓存,增量同步

4 如果数据库数据发生变化,如何同步给Redis

答:

  1. 删除redis缓存,增量同步
  2. 基于MQ异步同步
  3. 基于canal异步同步
  4. 基于canal+MQ异步同步

5 canal数据同步实现原理

答:canal主要用途是对mysql增量日志(binlog)解析,提供增量数据订阅和消费。

canal数据同步实现原理:

  1. Canal服务器端伪装成mysql从节点,订阅mysql主节点binlog日志
  2. 当mysql主节点binlog日志发生变化的时候,会通知给canal服务器端
  3. Canal服务器端接收到binlog增量数据日志,解析并转换成json格式输出到canal客户端
  4. Canal客户端接收到canal服务器端传递的增量数据日志后,异步写入到redis实现数据同步

优化建议:可以基于canal+kafka实现高效的异步数据同步,canal客户端接收到canal服务器端发送的增量数据日志后,异步将增量数据消息投递到kafka服务器端,再由kafka服务器端下游消费者订阅kafka主题,异步获取增量数据并同步到redis,大大提高大数据量数据同步场景下的数据同步效率。

 文章来源地址https://www.toymoban.com/news/detail-559821.html

 

到了这里,关于云事业群CTO线技术晋升考核机试题-分布式专题-D 分布式数据同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云事业群CTO线技术晋升考核机试题-分布式专题-G 分布式幂等架构设计

    作者:田超凡 1 幂等的基本概念 答:幂等指的是同一块业务逻辑重复多次执行时,只能令其生效一次,防止重复执行。 2 幂等的发生场景 答: RPC 调用接口的幂等性问题 MQ 消费者防止重复消费的幂等性问题 定时任务防止重复执行的幂等性问题 3 RPC调用接口的幂等性问题产生

    2024年02月16日
    浏览(38)
  • 分布式【RPC 常见面试题】

    一、注册中心 策略:服务注册原理、注册中心结构、zookeeper的原理、几个注册中心的区别、分布式算法、分布式事务。 项目细节:服务注册、服务发现、服务注销、监听机制 介绍一下服务注册中心怎么做的? (1)服务发现: 服务注册/反注册:保存服务提供者和服务调用者

    2024年02月03日
    浏览(45)
  • 分布式系统架构设计之分布式缓存技术选型

    随着互联网业务的快速发展,分布式系统已经成为了解决大规模并发请求、高可用性、可扩展性等问题的重要手段。在分布式系统中,缓存作为提高系统性能的关键技术,能够显著降低数据库负载、减少网络延迟、提高数据访问速度。当面对大量并发请求时,如果每次都直接

    2024年02月03日
    浏览(101)
  • 【分布式技术】分布式存储ceph之RGW接口

    目录 1、对象存储概念  2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池  #默认情况下 RGW 监听 7480 号端口  //开启 http+https ,更改监听端口 #更改监听端口 ​          //创建 RadosGW 账户 客户端测试 OSD 故障模拟

    2024年01月19日
    浏览(57)
  • 【分布式技术】分布式存储ceph之RBD块存储部署

    目录 创建 Ceph 块存储系统 RBD 接口 服务端操作 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 3、初始化存储池 4、创建镜像 5、在管理节点创建并授权一个用户可访问指定的 RBD 存储池 6、修改RBD镜像特性,CentOS7默认情况下只支持layering和stripin

    2024年01月18日
    浏览(72)
  • 【分布式技术专题】「分布式技术架构」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)

    Tomcat的总体结构从外到内进行分布,最大范围的服务容器是Server组件,Service服务组件(可以有多个同时存在),Connector(连接器)、Container(容器服务),其他组件:Jasper(Jasper解析)、Naming(命名服务)、Session(会话管理)、Logging(日志管理)、JMX(Java 管理器扩展服务

    2024年01月24日
    浏览(45)
  • 分布式补充技术 01.AOP技术

    01.AOP技术是对于面向对象编程(OOP)的补充。是按照OCP原则进行的编写,(ocp是修改模块权限不行,扩充可以) 02.写一个例子: 创建一个新的java项目,在main主启动类中,写如下代码。 一个接口,一个接口实现类,一个main主方法。 03.如果要实现显示接口实现类中的send方法运行

    2024年02月07日
    浏览(44)
  • 分布式技术剖析

    随着企业数字化进程的进一步深入,企业为了解决大数据的“4个V”问题,往往需要构建多个不同技术栈的大数据平台,其中不乏会使用到分布式相关的存储、计算、资源管理技术。分布式系统的出现解决了单机系统无法解决的成本、效率和高可用问题。那么什么是分布式技

    2023年04月10日
    浏览(34)
  • 分析分布式架构-技术

    提高系统的性能 提高吞吐量,服务更多的客户。提高并发和流量。 通过以下的技术提高处理高并发场景的能力 缓存系统,更快的响应客户端的请求。降低对数据库的压力( 提高响应速度 ) 前端浏览器,网络,后端服务,底层数据库,文件系统,硬盘,CPU都有缓存。 在分布式

    2024年02月16日
    浏览(46)
  • 分布式账本技术的阐述

    id:BSN_2021 公众号:BSN研习社 分布式账本技术产生的算法是一种强大的、具有颠覆性的创新,它有机会变革公共与私营服务的实现方式,并通过广泛的应用场景去提高生产力。 分布式账本,从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包