队列 分部rabbitmq消息

浅谈分布式环境下WebSocket消息共享问题

浅谈分布式环境下WebSocket消息共享问题 技术分析 我们在开发时会遇到需要使用即时通讯的场景,当然,实现方式很多,Socket、MQTT、Netty....等等。 具体用哪种就在于业务的需求了,去选择合理的方式实现。 今天小简要聊的场景便是分布式环境下,WebSocket的消息共享问题。 分布 ......
分布式 WebSocket 消息 环境 问题

为什么不建议用redis做消息队列

redis的list做队列其实还是很爽的,简单,一个读一个写即可,而且基本每个系统都会使用redis,接入没有附加成本,也没有额外的学习成本。 如果需要订阅模型,写三个队列,然后三个消费者分别读自己的那个即可。 但是,也有一些问题: 无法回放,消费了即消失,没有记录。 消息体如果很大,会占用很多内存 ......
队列 消息 建议 redis

消息 7347,级别 16, 链接服务器 'XXX' 的 OLE DB 访问接口 'MSDASQL' 返回的数据与列 '[MSDASQL].ext' 所需的数据长度不匹配。所需的(最大)数据长度为 510,但返回的数据长度为 5570。

消息 7347,级别 16,状态 1,第 174 行链接服务器 'XXX' 的 OLE DB 访问接口 'MSDASQL' 返回的数据与列 '[MSDASQL].ext' 所需的数据长度不匹配。所需的(最大)数据长度为 510,但返回的数据长度为 5570。 ......
数据 长度 39 MSDASQL 接口

MQ消息中间件,面试能问写什么?

为什么使用消息队列 消息队列的常见使用场景有很多但是核心的有三个:解耦、异步、削峰 解耦:那种不需要直接同步调用接口的,可以考虑异步化解耦 异步:主业务执行结束后从属业务通过MQ,异步执行,减低业务的响应时间 削峰:高并发场景下,延缓用户请求,环节应用压力 消息队列的优点和缺点? 优点: 特殊场景下 ......
中间件 消息

消息队列

消息队列,顾名思义,就是传递消息的队列 消息队列有哪些应用 系统解耦 设计模式中有一个开闭原则,指的是软件实体应该对扩展开放、对修改关闭,尽量保持系统之间的独立,这里面蕴含的是解耦思想。而消息队列的使用,可以认为是在系统中隐含地加入了一个对外的扩展接口,能够方便地对业务进行解耦,调用方只需要发送消息 ......
队列 消息

RabbitMQ消息队列搭建以及迁移

一、RabbitMQ框架 rabbitmq系统架构图 通过路由将交换机和队列进行绑定,从而实现消息的发送和接收 rabbitmq基本概念 1、Message(消息) 消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括routing-key(路由键 ......
队列 RabbitMQ 消息

太坑了,我竟然从RocketMQ源码中扒出了7种导致消息重复消费的原因

大家好,我是三友~~ 在众多关于MQ的面试八股文中有这么一道题,“如何保证MQ消息消费的幂等性”。 为什么需要保证幂等性呢?是因为消息会重复消费。 为什么消息会重复消费? 明明已经消费了,为什么消息会被再次被消费呢? 不同的MQ产生的原因可能不一样 本文就以RocketMQ为例,来扒一扒Rocket ......
源码 RocketMQ 原因 消息

一文了解清楚kafka消息丢失问题和解决方案

前言 今天分享一下kafka的消息丢失问题,kafka的消息丢失是一个很值得关注的问题,根据消息的重要性,消息丢失的严重性也会进行放大,如何从最大程度上保证消息不丢失,要从生产者,消费者,broker几个端来说。 消息发送和接收流程 kafka生产者生产好消息后,会将消息发送到broker节点,br ......
解决方案 消息 方案 问题 kafka

消息队列简介

什么是消息队列 消息队列是一种异步的服务间通信方式,适用于无服务器和微服务架构。 消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。 消息队列可被用于分离重量级处理、缓冲或批处理工作以及缓解高峰期工作负载。 提供消息的我们称为生产者;接收消息的我们称为消费者。 为什么要用消息队 ......
队列 消息 简介

一种异步延迟队列的实现方式

目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒延迟发送、token刷新、会员卡过期等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。 目前大部分功能通过定时任务完成,定时任务还分使用quartz及xxljob两种类型轮询时间短,每秒执行一次,对数据... ......
队列 方式

Redis使用ZSET实现消息队列使用总结一

转载请注明出处: 目录 1.zset为什么可以做消息队列 2.zset实现消息队列的步骤 3.使用jedis实现消息队列示例 4.+inf与-inf 5.redis使用list与zset做消息队列有什么区别 1.zset为什么可以做消息队列 zset做消息队列的特性有: 有序性:zset中所有元素都 ......
队列 消息 Redis ZSET

Redis使用ZSET实现消息队列使用总结二

转载请注明出处: 目录 1.redis 用zset做消息队列如何处理消息积压 2.redis分片并使用zset做消息队列 3. redis如何分片 4. redis使用java发送消息到zset队列并对消息进行分片处理 5. redis使用zset做消息队列时,有多个消费者同时消费消息怎么处理 6. ......
队列 消息 Redis ZSET

消息队列中间件的选型与比较

消息队列是一种重要的分布式系统组件,可用于异步通信、削峰填谷、解耦系统、数据缓存等多个方面。在选择消息队列时,需要考虑诸多因素,包括性能、可靠性、可用性、扩展性、可维护性、社区支持等等。 一、MQ介绍 1. Kafka Kafka 是一种高吞吐量、分布式的消息队列系统。它以日志为基础,支持高吞吐量、 ......
队列 中间件 消息

微服务学习计划——消息队列

微服务学习计划——消息队列 我们在微服务中一个命令会逐渐调用各个微服务,但如果一一调用不仅需要微服务实时同步交互还会浪费效率 所以我们通常会采用MQ,也就是消息队列Message Queue来处理这个问题 下面我们会通过几个方法介绍消息队列: MQ RabbitMQ SpringAMQP MQ 首先 ......
队列 消息

Nodejs 发送 TCP 消息的正确姿势

最近使用 NODE-RED 跟 TCP 打交道。NODE-RED 里内建了一个节点叫“tcp-out”,看文档呢使用这个节点可以很方便的把 payload 用 TCP 协议发送出去,但是事实上事情没有这么简单。其实当我第一次看到这个节点用法的时候我就觉得会有问题,果不其然。既然节点有问题,那么就干脆 ......
姿势 消息 Nodejs TCP

延迟队列实现订单超时自动取消

在上一篇 Java 实现订单未支付超时自动取消,使用Java自带的定时任务TimeTask实现订单超时取消,但是有小伙伴提出这种实现,会有以下几个问题: 线上服务挂了,导致服务下所有的定时任务失效。 服务重启,定时任务也会失效。 服务上线需要发布新的服务,原来服务也会关闭。 针对上述服务挂了、或者服 ......
队列 订单

Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战

需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
消息 队列 实战 库存 Redis

云原生时代顶流消息中间件Apache Pulsar部署实操之轻量级计算框架

本篇逐层递进了解Pulsar Functions的基本概念和理论,如工作原理、处理保证模式、窗口函数;进一步搭建Pulsar函数运行环境,一步步操作演示函数也包括窗口函数的示例使用,最后通过Java语言实现原生语言接口和Pulsar函数SDK两种方式的代码示例、打包、部署和结果验证。 ......
轻量 轻量级 中间件 框架 消息

云原生时代顶流消息中间件Apache Pulsar部署实操之Pulsar IO与Pulsar SQL

本篇重点了解Pulsar IO的基础,通过两个示例演示如何一步步实操安装Cassandra和JDBC PostgreSQL的年连接器,进而配置和创建Pulsar Sink 并验证结果,也进一步熟悉一些常见pulsar-admin命令,最后还演示Pulsar SQL简单使用。 ......
Pulsar 中间件 消息 时代 Apache

RabbitMQ真实生产故障问题还原与分析

RabbitMQ生产故障问题分析 由某一次真实生产环境rabbitMQ故障引发血案,下面复盘问题发生原因以及问题解决方法。 1、 问题引发 由某个服务BI-collector-xx队列出现阻塞,影响很整个rabbitMQ集群服务不可用,多个应用MQ生产者服务出现假死状态,系统影响面较广,业务影响很大 ......
RabbitMQ 故障 问题

玩转钉钉消息推送!

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 在前阵子我就已经接入了钉钉的群机器人和工作消息推送,一直没写文章同步到给大家。 像这种接入渠道的工作,虽然我没接入过,但可预见性地就是看看官方文档,然后对着文档一顿学习,复制下接入的代码,然后调试,最后就 ......
消息

用Redis实现延迟队列,我研究了两种方案,发现并不简单

大家好,我是三友~~ 背景 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就 ......
队列 方案 Redis

通过Nacos配置刷新进行RabbitMQ消费者在线启停

前提 公司在做一些金融相关业务,某些时候由于数据提供商定期维护或者特殊原因需要暂停某些服务的消费者。之前选用的消息队列技术栈是RabbitMQ,用于微服务之间的消息投递,对于这类需要暂停消费者的场景是选用注释掉消费者Bean中的相应Spring(Boot)注解重新发布来实现,后面需要重新启动消费就是 ......
RabbitMQ 消费者 Nacos

精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南

时间轮的介绍 时间轮(TimeWheel)是一种实现延迟功能(定时器)的精妙的高级算法,其算法应用范围非常广泛,在Java开发过程中常用的Dubbo、Netty、Akka、Quartz、ZooKeeper 、Kafka等各种框架中,各种操作系统的定时任务crontab调度都有用到,甚至Linux内核 ......

云原生时代顶流消息中间件Apache Pulsar部署实操-上

本篇先部署Apache Pulsar 最新版本2.11.0的 Locally Standalone,并通过创建Topic、生产消息和消费消息验证基础环境;接着通过二进制也即是所谓裸机部署方式一步步演示如何部署Pulsar的分布式集群,并通过Admin客户端验证基于租户、命名空间一些消息管理和使用简单... ......
中间件 消息 时代 Apache Pulsar

RabbitMQ 延迟消息实战

RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午 2:00 开始的促销活动。 RabbitMQ 本身没有直接支持延迟队列的功能,如果您搜索“如何在 RabbitMQ 中使用延迟消息” ......
实战 RabbitMQ 消息

MQ收到无序的消息时如何进行业务处理

业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方案一:自己重排序 收到消息后,自己在内存排序,然后按顺序丢到队列中,自己控制消息的发送和接收保证收到 ......
消息 业务

好消息!微信小程序开发环境自带vConsole

背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻。 好消息!广东某男子发现微信小程序开发环境自带vConsole. 同学,你看到这个新闻不震惊不兴奋打鸡血吗?你开发小程序都少装一个vConsole包呢!!! 基于D ......
好消息 vConsole 环境

ASP.NET Core知识之RabbitMQ组件使用(二)

近期,业务调整,需要内网读取数据后存入到外网,同时,其他服务器也需要读取数据,于是我又盯上了RabbitMQ。在展开业务代码前,先看下RabbitMQ整体架构,可以看到Exchange和队列是多对多关系。 下面,我们详细说说RabbitMQ的队列模式:简单队列、工作队列、发布订阅模式、路由模式、主题 ......
组件 RabbitMQ 知识 Core ASP

什么是push通知栏消息?

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 今天继续更新Austin,给Austin新增一个发送渠道(PUSH通知栏推送) Push通知栏消息是非常常见的,几乎每个APP都会做这个功能(没有消息推送的APP不是一个好的APP) 一般我们认为Push ......
通知栏 消息 push