分布式面试题
海子幸福人
也无风雨也无晴
展开
-
什么是分布式事务(结合图片分析详解)?
————— 第二天 ————— ...原创 2018-05-02 17:48:15 · 356 阅读 · 0 评论 -
面试题:消息中间件消费到的消息处理失败怎么办?(满分的回答方案)
1、日趋流行的面试问法现在网上很多面试题,主要是针对技术本身的提问,比如:你聊聊对Dubbo的理解?你说说分布式事务是什么?这些问题就好比中学考试的送分题,比如默写古诗,你只要准备了,下点功夫,都没啥问题。所以这里对技术本身的提问,其实就相当于送分题,主要是做一个基本的区分。你能回答出来,说明你至少平时还注意积累知识,不是一个混日子的工程师。但是现在出去面试,尤其是一些大厂的面试越...转载 2019-06-02 21:44:03 · 567 阅读 · 1 评论 -
(转载)如何设计一个百万级用户的抽奖系统?
1、抽奖系统的背景引入本文给大家分享一个之前经历过的抽奖系统的流量削峰架构的设计方案。抽奖、抢红包、秒杀,这类系统其实都有一些共同的特点,那就是在某个时间点会瞬间涌入大量的人来点击系统,给系统造成瞬间高于平时百倍、千倍甚至几十万倍的流量压力。比如抽奖,有一种场景:某个网站或者APP规定好了在某个时间点,所有人都可以参与抽奖,那么可能百万级的用户会蹲守在那个时间点,到时间大家一起参与这个...转载 2019-06-02 21:31:51 · 445 阅读 · 1 评论 -
面试:设计一个电商平台积分兑换系统
1、拉开差距的一类面试题现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难度,主要考察的是你多年积淀下来的系统设计的能力以及技术思维的能力。类似的这类系统设计题目很多,比如:请你设计一个秒杀系统 请你设计一个支撑百万用户的IM消息系统 请你设计一个微信红包系统 请你设计一个电商平台积分兑换系统这些题目本身都是开放...转载 2019-06-02 21:24:50 · 640 阅读 · 0 评论 -
(面试题 )分库分表之后,id 主键如何处理?
面试题分库分表之后,id 主键如何处理?面试官心理分析其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。面试题剖析基于数据库的实现方案数据库自增 id这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入...转载 2019-04-29 15:22:46 · 924 阅读 · 0 评论 -
(面试题 如何设计可以动态扩容缩容的分库分表方案?
面试题如何设计可以动态扩容缩容的分库分表方案?面试官心理分析对于分库分表来说,主要是面对以下问题:选择一个数据库中间件,调研、学习、测试; 设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,比如 3 个库,每个库 4 个表; 基于选择好的数据库中间件,以及在测试环境建立好的分库分表的环境,然后测试一下能否正常进行分库分表的读写; 完成单库单表到分库分表的迁移,...转载 2019-04-29 15:21:24 · 310 阅读 · 0 评论 -
(面试题)现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
面试题现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?面试官心理分析你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也设计好你们如何分库分表的方案了(水平拆分、垂直拆分、分表),那问题来了,你接下来该怎么把你那个单库单表的系统给迁移到分库分表上去?所以这都是一环扣一环的,就是看你有没有全流程经历过这个过程。...转载 2019-04-29 15:20:00 · 431 阅读 · 0 评论 -
为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
面试题为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?面试官心理分析其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的。而且现在说实话,尤其是互联网类的公司面试,基本上都会来这么一下,分库分表如此普遍的技术问题,不问实在是不行...转载 2019-04-29 15:18:13 · 234 阅读 · 0 评论 -
为什么分布式一定要有 Redis?
为什么分布式一定要有redis?1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。回答:如下所示,分为两点(一)性能 如下图所示,我...转载 2018-09-27 09:29:53 · 242 阅读 · 0 评论 -
使用kafka消息队列解决分布式事务(可靠消息最终一致性方案-本地消息服务)
微服务框架Spring Cloud介绍 Part1: 使用事件和消息队列实现分布式事务本文转自:http://skaka.me/blog/2016/04/21/springcloud1/不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三...转载 2018-09-21 16:40:42 · 8304 阅读 · 1 评论 -
(转)关于分布式锁原理的一些学习与思考
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。但是我们现在的应用程序如果只部署一台服务器,那并发量是很差...转载 2019-06-02 22:25:08 · 140 阅读 · 0 评论