面试官:谈谈分布式一致性机制,我一脸懵逼。。
前言基本原则与理论2PC3PCPaxosRaftGossipNWR 机制Quorum 机制Lease 机制前言分布式中一致性是非常重要的,分为弱一致性和强一致性。现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。但是要真正实施起来把这些协议落地,可不是一篇文章能说清楚的,有太多的细节,要自己去看....

面试官:如果保证数据库和缓存数据的一致性?面试必问……
背景缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,更是在面试中被反复问到,这里进行一下总结,针对不同的要求,选择恰到好处的一致性方案。缓存是什么存储的速度是有区别的。缓存就是把低速存储的结果,临时保存在高速存储的技术。如图所示,金字塔更上面的存储,可以作为下面存储的缓存。我们本次的讨论,主要针对数据库缓存场景,将以redis作为mysql的缓存为....

面试官:谈谈 CPU Cache 工作原理,Cache 一致性?我懵了。。(3)
Cache 一致性Cache 一致性是 Cache 中遇到的比较坑的一个问题。什么原因需要 Cache 处理一致性呢?主要是多核系统中,假如core 0读了主存储的数据,写了数据。core 1也读了主从的数据。这个时候core 1并不知道数据已经被改动了,也就是说,core 1 Cache中的数据过时了,会产生错误。Cache一致性的保证就是让多核访问不出错。Cache一致性主要有两种策略。策略....

面试官:谈谈 CPU Cache 工作原理,Cache 一致性?我懵了。。(2)
Cache的工作原理要讲清楚 Cache 的工作原理,需要回答 4 个问题:数据如何放置数据如何查询数据如何被替换如果发生了写操作,Cache如何处理2.1 数据如何放置这个问题也好解决。我们举个简单的栗子来说明问题。假设我们主存中有 32 个块,而我们的 Cache 一共有 8 个 Cache 行( 一个 Cache 行放一行数据)。假设我们要把主存中的块 12 放到 Cache 里。那么应该....

面试官:谈谈 CPU Cache 工作原理,Cache 一致性?我懵了。。
可以随便到网上查一查,各大互联网公司笔试面试特别喜欢考一道算法题,即 LRU缓存机制,又顺手查了一下LRU缓存机制最近有哪些企业喜欢考察,超级大热门!今天给大家分享一篇关于 Cache 的硬核的技术文,基本上关于Cache的所有知识点都可以在这篇文章里看到。关于 Cache 这方面内容图比较多,不想自己画了,所以图都来自《Computer Architecture : A Quantitativ....

面试官:缓存一致性问题怎么解决?
对于缓存和数据库的操作,主要有以下两种方式。先删缓存,再更新数据库先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。解决方案延时双删延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再sleep一段时间,然后再次删除缓存。sleep的时间要对业务读写缓存的时间做出评估,sleep时间大于读....

跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
1.基本概念原子性。整个事务是不可分割的最小单位,事务中任何一个语句执行失败,所有已经执行成功的语句也要回滚,整个数据库状态要恢复到执行事务前到状态。一致性。事务将数据库从一种状态转变为下一种一致的状态。在事务的前后,数据库的完整性约束没有被破坏。(事务的acid不是完全正交的,尤其是一致性,可能跟原子性、隔离性都有一定关系,后面会看到)持久性。事务一旦提交,那么就是永久性的,不会因为宕机等故障....

面试官:zookeeper 是如何实现一致性的? 我大意了,让我回去等通知
首先大家可能会有疑问,ZAB 和我们上一篇讲解的 Paxos 之间有什么区别和联系 别着急,带着这个问题接着往下看吧,后面指北君会揭晓这个问题的答案的。一、Zookeeper 简介那聊 ZAB 协议,先得看下 Zookeeper 是个什么玩意。Zookeeper 是一个分布式数据一致性的解决方案,分布式应用可以基于它实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Mast....

【阿里最新数据库面试题】MySQL主从一致性(下
为何binlog有mixed格式?因为有些statement格式的binlog可能会导致主备不一致,所以要使用row格式。但row很占空间(不然怎么叫肉呢?)。比如你用一个delete语句删掉10万行:statement就是一个SQL语句被记录到binlog,占用几十个字节row就要把这10万条记录都写到binlog。不仅占用巨大空间,写binlog也要耗费I/O资源,影响执行速度。所以,MyS....

【阿里最新数据库面试题】MySQL主从一致性(上)
为什么备库执行了binlog就可以跟主库保持一致?MySQL主备的基本原理基本的主备切换流程上部分状态:客户端的读写都直接访问A,B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持B和A的数据相同。当需要切换时,就切成下部分状态:客户端读写访问的都是B,A是B的备库。上部分状态,虽然节点B没有被直接访问,但推荐把B(备库)设成只读(readonly),考虑如下:有时候一些运营类的查....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注