
中间件
文章平均质量分 53
赵泉伟
此人很懒,什么也没留下
展开
-
Redis为什么变慢了
Redis为什么变慢了?常见延迟问题定位与分析Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用 Redis 时,经常时不时会出现访问延迟很大的情况,如果你不知道 Redis 的内部实现原理,在排查问题时就会一头雾水。Redis出现访问延迟变大,都与我们的使用不当或运维不合理导致的。以下这篇文章我们就来分析一下 Redis 在使用过程中,经常会遇到的延迟问题以及如何定位和分析。文章目录链路追踪基准性能使用了复杂度过高的命令操作、存储大的big原创 2022-05-19 15:55:18 · 355 阅读 · 0 评论 -
Redis主从复制原理总结
和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。全量同步Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。具体步骤如下:- 从服务器连接主服务器,发送SYNC命令;- 主服务器接收到SYNC命名后,开始执行BGS...原创 2020-09-10 11:40:02 · 261 阅读 · 0 评论 -
mycat实战之扩容
扩容是项目投入生产之后,经过一定的数据量的积累,达到一定的量级之后,需要执行的操作。一、 离线扩容(摘自官方)工具目前从 mycat1.6 开始支持。一、准备工作1、mycat 所在环境安装 mysql 客户端程序。2、mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包。3、对扩容缩容的表所有节点数据进行备份,以便迁移失败后的数据恢复。二、扩容缩容步骤1、复制 schema.xml、rule.xml 并重命名为 newSchema.xml、newRule.xml 放于原创 2020-09-10 10:40:57 · 1011 阅读 · 0 评论 -
如何保证 RocketMQ 不丢失消息
0x00. 消息的发送流程一条消息从生产到被消费,将会经历三个阶段:生产阶段,Producer 新建消息,然后通过网络将消息投递给 MQ Broker存储阶段,消息将会存储在 Broker 端磁盘中消息阶段, Consumer 将会从 Broker 拉取消息以上任一阶段都可能会丢失消息,我们只要找到这三个阶段丢失消息原因,采用合理的办法避免丢失,就可以彻底解决消息丢失的问题。0x01. 生产阶段生产者(Producer) 通过网络发送消息给 Broker,当 Broker 收到之后.原创 2020-06-19 15:50:34 · 565 阅读 · 0 评论 -
RocketMQ原理解析
RocketMQ原理解析RocketMQ部署集群.jpg说明:1.NameServer名称服务NameServer是没有状态的,即NameServer中的Broker和topic等状态信息(通过其他角色上报获取)都是保存在内存中的,不会持久化存储(可通过配置实现),集群可以横向扩展。主要功能如下:a.接收Broker(master和slave)启动时的注册路由信息;b.为producer和consumer提供路由服务,即通过topic名字获取所有broker的路由信息;c.接...原创 2020-06-19 11:41:00 · 567 阅读 · 0 评论 -
RocketMQ的消费端负载均衡和Rebalance机制
从源码看RocketMQ的消费端负载均衡和Rebalance机制Consumer的负载均衡RocketMQ在消费端的负载均衡如下图所示,各个partition均匀分布在各个consumer上,如下图所示:所有consumer依次消费每一个partition,如果partition数量不是consumer的整数倍,则排在前面的consumer会消费更多的partition,下面可以看看consumer的实现。Rebalance的实现RocketMQ的consumer负...原创 2020-06-19 11:35:31 · 1921 阅读 · 0 评论 -
kafka原理(转载)
本文主要讲解 Kafka 是什么、Kafka 的架构包括工作流程和存储机制,以及生产者和消费者。最终大家会掌握 Kafka 中最重要的概念,分别是 Broker、Producer、Consumer、Consumer Group、Topic、Partition、Replica、Leader、Follower,这是学会和理解 Kafka 的基础和必备内容。定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用与大数据实时处理领域。消息队列Kafka原创 2020-06-16 14:37:03 · 306 阅读 · 0 评论 -
redis主从复制下哨兵模式---选举原理(转载)
一.哨兵机制任务: 有了主从复制的实现以后,如果想对主服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制。顾名思义,哨兵的含义就是监控redis系统的运行状态。可以启动多个哨兵,去监控redis数据库的运行状态。其主要功能有两点: a、监控所有节点数据库是否在正常运行。 b、master数据库出现故障时,可以自动通过投票机制,从slave节点中选举新的master,实现将从数据库转换为主数据库的自动切换。 一个一主多从的Redis系统中,可以使用多个哨兵进行监控.原创 2020-06-15 10:04:26 · 3056 阅读 · 0 评论 -
分布式解决方案(redis缓存篇)(转载)
redis 是一个基于内存的高性能 key-value数据库支持丰富的数据类型(String,List , Set ,Sorted Set,Hash)redis中的单个value的存储限制是1G,比Memcached的1MB要强大太多哎呀,还是以问答的方式来写这篇文章吧!1.redis有什么优缺点redis是内存数据库,所以当数据量达到一定程度的时候,单机版的必然是其瓶颈所在,这个时候我们就需要引入主从复制方案,用了主从复制之后我们就会发现,主库值负责读写,从库负责读,数据量达到千...原创 2020-06-12 18:23:53 · 279 阅读 · 0 评论 -
分布式缓存redis常见问题及解决方案(转载)
一、redis和memcache有什么区别?redis是现在的企业使用最广泛缓存技术,而在redis以前memcache是一些公司最常用的缓存技术,它们比较相似,但有如下一些区别:(1)redis相对于memcache来说拥有更丰富的数据类型,可以适用更多复杂场景。(2)redis原生就是支持cluster集群模式的,但memcache没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据。(3)redis使用的是单核,memcache使用的是多核,所以redis在存储小数据的时候性能比原创 2020-06-12 17:51:04 · 560 阅读 · 0 评论