系统怎样做到高可用?

高可用系统设计的思路
一个成熟系统的可用性需要从系统设计和系统运维两方面来做保障,两者共同作用,缺一不可。那么如何从这两方面入手,解决系统高可用的问题呢?

系…

Redis底层数据结构详解

1. 底层数据结构, 与Redis Value Type之间的关系
对于Redis的使用者来说, Redis作为Key-Value型的内存数据库, 其Value…

消息队列之 MetaQ 和 Kafka 哪个更香!

本篇文章首先介绍MetaQ消息队列,然后介绍了作者对MetaQ和Kafka这两个消息队列的理解。
消息队列
消息队列是一个用于接收消息、存储消息并且转发消息的…

分享一例有意思的灰度设计缺陷,浅谈灰度方案的设计

灰度很重要,灰度的策略也需要结合实际情况进行灵活的调整,本文跟大家分享了一个前些时间发现的灰度设计bug。
一、案例分享
跟大家分享一个前些时间发现的灰度设计…

一次访问Redis延时高问题排查与总结

作者抽丝剥茧的记录了一次访问Redis延时高问题的排查和总结。
背景
20230308 在某地域进行了线上压测, 发现接口RT频繁超时, 性能下降严重, P5…

一文读懂OSS、NAS、EBS有什么区别?

本文主要介绍常用的存储类型及它们之间的对比差异,辅助帮助大家在不同需求和场景下选择合适的存储类型。
近期,AIGC、GPT大模型、数据中台等热点话题备受关注,…

聊一聊分布式系统中的时空观构建

本文从生活中的时间观、事件的因果顺序、逻辑时钟等方面系统的介绍了分布式系统中的时空观是如何构建的。(文末有活动~)

一、生活里的时间观

时间,无疑是我…

实战总结|记一次消息队列堆积的问题排查

本文记录了一次问题的排查过程,从中可以学到不少共性的方法论和经验教训,所以做了提炼归纳。(文末有活动)
一、背景

本次问题涉及的系统链路如上图,各系统的基本…

一文总结 MetaQ/RocketMQ 原理


本文介绍的 MetaQ/RocketMQ 是侧重于维持消息一致性和高可靠性的消息队列中间件,帮助大家对队列设计的理解。
简介—— 消息队列中间件 Meta…

共识协议的技术变迁 — 既要“高”容错,又要“易”定序,还要“好”理解

这篇文章与读者朋友们好好聊一聊共识这个技术领域,期望能够让大伙儿对共识协议的前世今生以及这些年的技术演进有个大体了解。

There is no compre…

八年磨一剑,四大技术视角总结云上应用管理实践

这篇文章是阿里云 EDAS 团队在近八年服务客户的过程中,在应用管理两大领域(容量管理和流量管理)方向往云时代迈进时所呈现出来的不同进行深入剖析与总结,以帮助…

高并发下千万数据量的Mysql中热点数据如何持续保留在Redis中

在高并发下,为了增加系统的并发能力通常都会使用缓存技术来缓存热点数据,目的是防止大量的请求打到Mysql上导致Mysql被打垮而崩溃。

假设现在Mysql中千…

超高并发下Redis分key的实现原理

众所周知Redis扛并发的能力是非常强的,所以高并发场景下经常会使用Redis,但是 Redis 单分片的写入瓶颈在2w左右,读瓶颈在10w左右,如果在超高并发…

支撑瞬间百万QPS的热点文章服务的设计

在我们的日常生活中,总是在一个不经意间就会出现一个大新闻,如某某一线明星出轨、某某明星官宣结婚、某某明星偷税漏税等等。这个都是我们粉丝或者吃瓜群众感兴趣的话题,…

百万QPS下热点数据的收集方案

在高并发场景下,如京东、淘宝的秒杀活动开始时候,会有很多的用户同时抢购秒杀商品,由于同一个场次成百上千种商品参与秒杀活动,但是热点的商品往往就只有那么几十个左右…

什么是redis 大key /Big key和Big key的定位以及解决方案

Redis作为开发中常见的中间件之一,其最常见的用途就是缓存数据来提高系统的性能。但是如果缓存使用不当,如下场景:
(1)业务中使用了不恰当的redis数据结构…

为什么zookeeper慢慢被大厂放弃

zookeeper对我们开发人员来说并不陌生,它在分布式系统中它占据了重要的地位。但是随着互联网的不断发展,现在慢慢的很多的大厂弃用zookeeper了,下面我…

如何在高并发下使用Redis实现排行榜的功能

在我们日常的生活中排行榜是常见的功能,如游戏的排行榜,销售额的排行榜等等,排行榜不仅可以让用户有更多的激情参与到活动中来,而且可以更好的留存住用户,如下所示的拉…

罗列分布式事务解决方案

1、本地消息表

以订单成功之后扣减库存为例,通过记录一条扣减库存的记录和发送一条消息来保证两个服务之间数据的最终一致性。
(1)优点:实现逻辑简单,开发量小

线上百万MQ消息积压的快速处理方案

在我们日常的生产环境上,由于某些原因(如消费者代码中bug、消费者端使用的中间件存在性能问题)导致消费者不能处理消息或者消费者处理速度极慢进而导致了线上出现百万…