自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 使用docker-compose安装kafka

准备工作需要提前安装好docker,以及docker-composedocker-compose.ymlversion: '3'services: zookeeper: image: wurstmeister/zookeeper container_name: zookeeper # always restart restart: always ...

2020-04-01 17:54:46 5124 2

原创 面试题——为什么要分库分表

面试题为什么要分表分库(设计高并发系统的时候,数据库层面该如何设计)?使用过哪些分表分库中间件?不同的分表分库中间件都有什么优点和缺点?你们是如何对具体的数据库进行垂直拆分和水平拆分的?面试官心理分析其实这一块内容主要就是针对高并发的,因为分库分表主要解决的问题就是支撑高并、数据量大两个问题。而且现在如果是去互联网公司面试的话,基本上都是会问一下的。面试题剖析为什么要分库分表?(设计高并...

2020-04-01 11:03:17 697

原创 简述MySQL联合索引最左匹配原则

前言在网上看过一些有关最左匹配原则的博客,自以为自己理解了,但是今天面试的时候被面试官深挖了一下,就暴露了其实并没有真正理解到最左匹配原则。最左前缀匹配原则MySQL在建立联合索引的时候,会从左到右依次建立递增的索引。而且也比较推荐建立联合索引,因为一个索引可以起到很多个索引的作用。KEY index_a_b_c on test(a, b, c);联合索引index_a_b_c实际上相...

2020-03-27 21:13:27 418

原创 如果让你设计一个消息队列,该如何进行架构设计?

面试题如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。面试官心理分析一般问这种开发性问题,主要考察两块:你有没有对一个消息队列做过较为深入的原理了解,有没有从整体架构上把握住消息队列的原理。看看你的设计能力,能不能从整体架构上,把握住消息队列设计的关键点。说实话,问类似问题的时候,大部分人是懵逼的,因为平常都在埋头工作,很少有从整体架构上思考过类似的问题。面试题剖析...

2020-03-26 17:44:48 448

原创 面试题——如何保证消息的顺序性

面试题如何保证消息的顺序性?面试官心理分析

2020-03-25 21:28:55 433 1

原创 面试题——如何保证消息的可靠性传输?

面试题如何保证消息的可靠性传输?也就是如何处理消息丢失的问题?面试官心理分析使用MQ有一个原则就是,数据不能多一条,也不能少一条。不能多,就是前面提到的重复消费,解决幂等性的问题。不能少,就是消息不能丢失。如果MQ系统存储着非常重要的消息,比如计费信息,那就需要确保MQ绝对不要把计费信息给搞丢了。面试题剖析数据丢失问题,可能出现在生产者、MQ、消费者中。以Kafka为例。Kafka...

2020-03-25 17:55:51 306

原创 面试题——如何保证消息不被重复消费

面试题如何保证消息不被重复消费,也是所谓的幂等性?面试官心理分析这是MQ领域的一个最基本的问题,既然要消费消息,就需要考虑消息的幂等性问题。希望面试者可以从架构角度来考虑这个问题。面试题剖析回答这个问题,首先你听到这个问题,不能一无所知,要先大概说一说可能会出现哪些重复消费的问题。首先,常见的MQ,比如Kafka,RabbitMQ,RocketMQ都有可能出现消息重复消费的问题,这很正...

2020-03-25 11:27:58 316

原创 面试题——如何保证消息队列的高可用

面试题如何保证消息队列的高可用?面试官心理分析围绕着MQ进行面试,肯定会聊到高可用相关的话题,因为引入了MQ中间件导致了系统的可用性降低。MQ所带来的一些坑,在实际项目中是如何解决的。如果回答只是单纯的在MQ,并没有考虑过各种有可能出现的问题,那面试的印象分就会迅速降低。面试题剖析是让你结合项目说一说在实际的生产环境中如何实现MQ的高可用性。Kafka的高可用性Kafka的一个最基...

2020-03-25 09:59:52 246

原创 面试题——为什么要使用消息队列?

面试题为什么要使用消息队列?消息队列有什么优缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一:你们为什么要用这个技术?很多的面试者对于为什么使用这项技术缺乏思考,仅仅是为了用而用,并没有自己的独立思考,对于架构设计也没有全局的概念。第二:对于这个技术的好处和坏处你们是否清楚?是否...

2020-03-24 22:15:48 209

原创 InnoDB存储引擎MVCC实现原理

简单背景介绍MySQLMySQL是现在最流行的关系型数据库(RDB)的选择,为了应用程序提供可靠性数据存储,事务等功能。近些年来也成为了互联网公司的首选。在5.5版本后,默认使用InnoDB存储引擎。MySQL架构顶层是接入层,为不同语言实现接入,接入层负责权限校验,线程池管理,线程管理。接下来是MySQL服务层,有SQL解析器,SQL优化器,数据缓冲,缓存。再接下来是存储引擎。最后是系统...

2020-03-24 17:15:40 713

原创 集群脑裂简述

什么是脑裂在一个高可用集群中,由于网络的原因内部的两个节点互相检测不到对方的存在,互相接管对方的资源。出现多个Master的情况,称为脑裂。脑裂导致的问题引起数据的不完整性:在集群节点出现脑裂的时候,如果外部无法判断哪个为主节点,脑裂的集群都可以正常访问的时候,这时候就会出现数据不完整的可能性。服务异常:对外提供服务出现异常。如何解决添加冗余的心跳线,尽量减少“脑裂”的机会启用...

2020-03-23 19:45:53 1941

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除