GaryLee's Blog
Kafka如何解决消息积压问题? Kafka如何解决消息积压问题?
一、Kafka如何解决消息积压问题?首先分析一下消息积压问题的原因,如果不是系统BUG导致的,那就需要优化消费端的逻辑,来提高消费速率。 如果是系统BUG导致的,那么需要先修复系统BUG,然后再做临时扩容来消费大量的积压消息,具体步骤如下:
2023-09-06
JVM运行时数据区域是怎样的? JVM运行时数据区域是怎样的?
一、JVM运行时数据区域是怎样的?JVM运行时数据区域组成有以下几项: 堆:线程共享,用于存放对象实例,同时还用于垃圾回收 虚拟机栈:线程私有,用于存放局部变量(每次方法调用都会创建一个栈帧,用于存放局部变量表、操作数栈、动态链接、返回地
2023-09-06
Spring事务 Spring事务
一、什么是事务?参考《MySQL事务》 二、Spring支持哪些事务管理类型?Spring支持两种类型的事务管理: 编程式事务管理:用户需要通过编程的方式手动管理事务的开启、提交、回滚等操作(比较灵活,但是比较难维护) 声明式事务管理:用
2023-09-06
Redis的持久化机制是怎样的? Redis的持久化机制是怎样的?
一、Redis提供了哪些持久化机制?Redis提供了两种持久化的机制,分别是RDB和AOF(在Redis 4.0之后采用混合方式)。 二、RDB和AOF有什么区别?1、RDBRDB是将Redis内存中的数据定期保存到磁盘中,防止数据在Red
2023-09-05
InnoDB和MyISAM有什么区别? InnoDB和MyISAM有什么区别?
一、InnoDB和MyISAM有什么区别?InnoDB和MyISAM都是MySQL的存储引擎,MySQL在5.5之前默认使用MyISAM作为存储引擎,5.5之后默认使用InnoDB作为存储引擎,它们的区别主要是以下几点: InnoD
2023-09-05
如何实现一个分布式锁? 如何实现一个分布式锁?
一、什么是分布式锁?分布式锁,是一种跨进程、跨机器节点的互斥锁,它可以用来保证多机器节点对于共享资源访问的互斥性。 二、分布式锁的特点想要实现一个分布式锁,主要要有以下几个特点: 互斥性:同一时间只能有一个线程获取到锁,然后去访问共享资源
2023-09-05
什么是倒排索引? 什么是倒排索引?
一、背景在ElasticSearch中,通过关键字/关键词去查找对应文本的过程,是由全文检索引擎实现的。 全文检索引擎就是对非结构化文本进行解析、搜索的技术,而非结构化文本的处理关键在于分词与倒排索引。 二、什么是倒排索引?在Elastic
2023-08-26
为什么要使用ElasticSearch? 为什么要使用ElasticSearch?
一、为什么要使用ElasticSearch?因为在我们的业务场景中,可能会有大数据量的查询场景,这时候如果我们用常规的缓存和数据库来提供支持,在极端情况下可能会出现实例负载过高,导致系统不可用。 所以我们需要选择一款支持大数据量查询的框架或
2023-08-26
什么是服务降级? 什么是服务降级?
一、什么是服务降级?服务降级是一种提高系统稳定性和可用性的策略,简单来说,就是当服务器压力增加时,根据业务需求判断,从而不对外提供部分非核心服务的功能。 简单举个例子,在秒杀系统中,如果秒杀过程中服务器出现宕机或者部分依赖服务不可用了,做与
2023-08-25
如何实现多级缓存? 如何实现多级缓存?
一、什么是多级缓存?多级缓存指的是在系统的不同环节都添加缓存,以提高系统性能 我们一般工作中提到的多级缓存一般是本地缓存+分布式缓存: 本地缓存:指在当前服务里使用到的缓存,一般使用的是Guava和Caffeine框架,都提供了缓存的过期
2023-08-25
如何设计一个购物车功能? 如何设计一个购物车功能?
一、什么是购物车功能?购物车指的是用户在选购商品的时候,用来将用户意向购买的商品存放的地方,从而方便用户后续找到这些商品并进行统一支付 购物车的主要元素有: 商品ID 商品数量 折扣 添加后的价格变化 … 购物车的主要操作有: 下单
2023-08-25
Redis为什么这么快? Redis为什么这么快?
一、Redis为什么这么快?Redis之所以这么快,主要是有以下几个方面的原因: 基于内存:由于Redis是内存数据库,即数据存储在内存中,数据的读写速度非常快,同时内存访问速度远比磁盘访问速度快得多 单线程模型:由于Redis底层用的是
2023-08-23
8 / 16