自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一篇认识Kafka

消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。● Producer:消息生产者,负责产生和发送消息到 Broker;● Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue;● Consumer:消息消费者,负责从 Broker 中获取消息,并进行相应处理;

2025-03-24 10:18:22 1510

原创 如何解决DB数据库和Redis缓存一致性问题?

再次查询的时候在将数据添加到缓存中,这种方案能解决1方案的问题,但是在高并发下性能较低,而且仍然会出现数据不一致的问题,比如线程1删除了Redis缓存数据,正在更新Mysql,此时另外一个查询再查询,那么就会把Mysql中老数据又查到Redis中因为写和读是并发的,没法保证顺序,就会出现缓存和数据库的数据不一致的问题;使用阿里的一款开源框架canal,通过该框架可以对MySQL的binlog进行订阅,而canal正是模仿了mysql的slave数据库的备份请求,使得Redis的数据更新达到了相同的效果。

2025-03-23 23:22:04 760

原创 缓存击穿、缓存穿透、缓存雪崩 一篇全了解

当某个特定的缓存键(key)失效后,在下一次请求该缓存时,由于缓存中没有对应的数据,因此会去数据库中查询,这就是缓存击穿。正常情况下,缓存中的数据会根据过期时间进行更新,当大量数据同时失效时,下一次请求就会直接访问数据库,给数据库带来巨大压力。缓存穿透是指恶意请求查询一个不存在于缓存和数据库中的数据,导致每次请求都直接访问数据库,从而增加数据库的负载。缓存击穿是指在高并发访问下,一个热点数据失效时,大量请求会直接绕过缓存,直接查询数据库,导致数据库压力剧增。:判断请求的参数是否存在于缓存或数据库中。

2025-03-23 23:08:51 204

原创 Redis中key过期了一定会立即删除吗?

在 Redis 中,键的过期和实际删除并不是实时的,Redis 采用了一种惰性删除(lazy deletion)和定期删除(periodic expiration)相结合的机制来处理过期键。● 内存管理:过期键的删除直接影响内存的使用情况,虽然定期删除与惰性删除可以确保大部分过期键最终被删除,但由于它们不是严格实时的,所以某些键可能会在过期后继续占用内存直到被访问或被后台任务删除。● 机制:Redis 会周期性地随机抽取一部分设置了过期时间的键进行检查,并删除已过期的键。

2025-03-23 22:49:37 363

原创 认识SpringCloud,从九个问题开始

服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的fallback(退路)错误处理信息。微服务架构系统是一个分布式的系统,按照业务进行划分服务单元模块,解决单个系统的不足,满足越来越复杂的业务需求。缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大,运维工程师压力增大,人力资源增多,系统依赖增强,数据一致性,性能监控。

2025-03-23 22:19:31 1356

空空如也

空空如也

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

TA关注的人

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