
高并发架构
一棵大树Atree
这个作者很懒,什么都没留下…
展开
-
消息队列——为什么要使用消息队列?有什么优、缺点?
问题:为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?问题分析: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过...转载 2019-07-16 11:17:44 · 786 阅读 · 0 评论 -
缓存——Redis
问题redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?还有可能面试官会问问你 redis 和 mem...转载 2019-07-22 09:16:53 · 296 阅读 · 0 评论 -
消息队列——如何进行架构设计?说明思路
问题如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。分析其实聊到这个问题,一般面试官要考察两块:你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。 看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。说实话,问类似问题的时候,大部分人基本都会蒙,因为平时从来没...转载 2019-07-17 17:19:00 · 840 阅读 · 0 评论 -
消息队列——延迟及过期失效问题?如何解决持续积压?
问题如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?分析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这整个就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,导致比如 Rabbi...转载 2019-07-17 15:04:22 · 398 阅读 · 0 评论 -
缓存——项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
问题项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定...转载 2019-07-19 10:25:02 · 10371 阅读 · 3 评论 -
消息队列——如何保证消息的顺序性?
问题如何保证消息的顺序性?分析其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。面试题剖析我举个例子,我们以前做过一个 mysqlbinlog同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -&...转载 2019-07-16 15:15:55 · 545 阅读 · 0 评论 -
消息队列——如何保证消息的可靠性传输(处理消息丢失问题)
问题如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?分析这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。面试题剖析...转载 2019-07-16 14:46:28 · 1122 阅读 · 0 评论 -
消息队列——如何保持消息的幂等性(不被重复消费)
问题如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?分析其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。面试题剖析回答这个问题,首先你别听到重复消息这个事...转载 2019-07-16 14:22:14 · 3421 阅读 · 0 评论 -
消息队列——如何保证消息队列的高可用?
问题如何保证消息队列的高可用?分析如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做个 ...转载 2019-07-16 11:25:02 · 274 阅读 · 0 评论 -
缓存——Redis数据类型,应用场景
问题redis 都有哪些数据类型?分别在哪些场景下使用比较合适?分析除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才会问这类问题。否则,在宝贵的面试时间里,面试官实在不想多问。其实问这个问题,主要有两个原因:看看你到底有没有全面的了解 redis 有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的 KV 操作; 看看...转载 2019-07-22 09:26:36 · 461 阅读 · 0 评论