• 2024-07-02可重入锁思想,设计MQ迁移方案
    如果你的MQ消息要从Kafka切换到RocketMQ且不停机,怎么做?在让这个MQ消息调用第三方发奖接口,但无幂等字段又怎么处理?今天小傅哥就给大家分享一个关于MQ消息在这样的场景中的处理手段。这是一种比较特例的场景,需要保证切换的MQ消息不被两端同时消费,并且还需要在一段消费失败后的MQ还
  • 2024-07-02RTMP协议
       与RTSP不同,RTSP(Real-TimeStreamingProtocol)是一个控制协议,负责控制媒体流的传输,但不传输媒体数据本身。RTSP可以通过TCP或UDP传输RTP包来传输音视频数据。             RTMP(Real-TimeMessagingProtocol)是一个综合性的协议,不仅可以传
  • 2024-07-02SpringAMQP
    快速入门在之前的案例中,我们都是经过交换机发送消息到队列,不过有时候为了测试方便,我们也可以直接向队列发送消息,跳过交换机。在入门案例中,我们就演示这样的简单模型,如图:也就是:publisher直接发送消息到队列消费者监听并处理队列中的消息:::warning注意:这种模式一般测试使
  • 2024-07-022024RabbitMQ面试题
    1、为什么使用消息队列?        其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?        面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用MQ
  • 2024-07-02Redis Stream 作为消息队列的详尽笔记
    概述RedisStream是Redis5.0版本引入的数据结构,用于消息传递。基础概念结构:消息链表,每个消息有唯一ID和内容。命名:每个Stream有唯一名称,对应RedisKey。消费组(ConsumerGroup):可挂载多个消费组,需手动创建。每个组有游标last_delivered_id,记录消费进度。消费
  • 2024-07-02GGTalk 开源即时通讯系统源码剖析之:聊天消息防错漏机制
    继上篇《GGTalk开源即时通讯系统源码剖析之:客户端全局缓存及本地存储》GGTalk客户端的全局缓存以及客户端的本地持久化存储。接下来我们将介绍GGTalk的聊天消息防错漏机制。GGTalkV8.0 对消息的可靠性,即消息的不丢失和不重复做了一系列优化处理,以保证不会错漏消息。这篇文
  • 2024-07-02RocketMQ 基础教程-高级功能汇总
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析
  • 2024-07-02RocketMQ 基础教程-RocketMQ整合SpringBoot
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析
  • 2024-07-02五分钟了解MQ消息集成
    一、MQ消息集成的定义MQ消息集成是通过消息中间件(MessageQueue)实现的一种数据集成方式。它通过将数据发送到中间件中,再从中间件中接收数据,实现不同系统之间的数据交换。在MQ消息集成中,发送者和接收者之间不需要直接建立连接,而是通过消息中间件来实现数据传输。消息中间件
  • 2024-07-01MQ测试方法(RocketMQ 4.X)
    官网了解rocketmq背景我们知道一般消息中间件的基础消费模型如下,生产者产生一类主题消息,而消费者就消费一类主题消息。 Rocket也是采用该模型,并进行了扩展,实现了多人发不同的topic且多人消费的场景。 上面还能看出,一个Topic下有多个队列,可以在不同Broker上。再结合一下部
  • 2024-07-01消息队列面试题----基础篇
    ##1、为什么要用MQ?MQ有哪些使用场景?###什么是消息队列消息队列是一种异步的通信方式,用于在分布式系统中管理消息传递。消息队列采用了生产者-消费者模型,生产者将消息发送到队列中,而消费者则从队列中接收消息。###为什么要使用消息队列其实就是问问你消息队列都有哪些使
  • 2024-07-01protobufjs解析proto消息出错RangeError: index out of range: 2499 + 10 > 2499解决办法
    使用websocket通讯传输protobuf消息的时候,decode的时候出错了:RangeError:indexoutofrange:2499+10>2499Error:invalidwiretype4atoffset1986出现这种错误的时候,99%是因为proto里面的消息类型和服务端发送的消息类型不一致导致的。解决这个问题的办法有
  • 2024-07-01直播的js代码debug解析找到protobuf消息的定义
    我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型?都可以通过js查看得到。找到解析入口上一节我们找到了_decodeFrameOrResponse,这里
  • 2024-07-01消息队列选型之 Kafka vs RabbitMQ
    在面对众多的消息队列时,我们往往会陷入选择的困境:“消息队列那么多,该怎么选啊?Kafka和RabbitMQ比较好用,用哪个更好呢?”想必大家也曾有过类似的疑问。对此本文将在接下来的内容中以Kafka和RabbitMQ为例分享消息队列选型的一些经验。一、什么是消息队列消息队列即Messag
  • 2024-07-01Linux进程间的通信方式(一)System V 消息队列
    文章目录前言1.消息队列概念2.消息队列的应用场景3.消息队列接口分类3.1SystemV消息队列3.2POSIX消息队列4.消息队列相关操作函数4.1ftok函数(获取一个key值)4.2msgget函数(根据key值获取一个消息队列操作符)4.3msgctl函数(设置消息队列属性)4.4msgsnd函
  • 2024-06-24这就叫“面试造火箭,工作拧螺丝!”
    你好呀,我是歪歪。我想再讨论一下上次的这篇文章《哎,被这个叫做atleastonce的玩意坑麻了》因为有些朋友看完之后再评论区给出了自己的思考,也有朋友和我私聊,分享了自己的看法,我觉得有些想法很好,所以我决定一鱼两吃,再聊聊这个问题。假设,我们是一场面试,面试官给你抛出了这样一个
  • 2024-06-24UML图
    空心菱形箭头表示组合关系(强),父类毁灭子类不存;实线空心箭头表示继承;虚线空心箭头表示实现;虚线普通箭头表示依赖;实线普通箭头表示关联时序图推荐同步消息版本一个激活块决定了连线是发送信息或响应。所有的发送信息必然激活新的激活块,有激活时间块也必然开始于某个发送信息
  • 2024-06-23Spring Batch
    项目是做历史表的Migration锁定一定数量的历史表A,B,C,每张历史表在配置表里有一张记录,包括需要distinct的关键字段,包括分区大小,core大小(逻辑分区)以及一个参数(select_clause,历史表的条件比如时间)举例子,数据库配置表里 历史表A 的distinct字段country_code到60w条数据,分
  • 2024-06-23后端开发Spring框架之消息 消息队列案例--订单短信通知
    消息队列案例首先我们书写一个业务层接口定义的是发送消息短信消息处理packagecom.bigdata1421.message.service;publicinterfaceOrderService{voidorder(Stringid);}创建业务层的实现类并且我们要重写方法这里就是打印日志将消息打印在控制台再写
  • 2024-06-23RocketMQ 基础教程-系统架构
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析
  • 2024-06-22RocketMQ的安装和原理
    .RocketMQ的安装一.RocketMQ安装1.1.下载RocketMQ下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/下载后解压Bin:可执行文件目录config:配置文件目录Lib:依赖库,一堆Jar包1.2.配置ROCKETMQ_HOME解压压缩包,配置ROCKETMQ_HOME1.3.
  • 2024-06-22消息队列(MQ)学习文档
    目录1.简介2.MQ的优势2.1解耦2.2异步2.3消峰3.MQ的劣势3.1系统可用性降低3.2系统复杂度提高4.常见的MQ产品4.1ApacheKafka4.2RabbitMQ4.3ActiveMQ4.4RocketMQ5.MQ的工作模式5.1点对点模式(P2P)5.2发布/订阅模式(Pub/Sub)5.3请求/回复模式(Reques
  • 2024-06-21数字样机:飞行器状态控制系统仿真
    ​引言:数字样机起源于20世纪90年代,是一种用数字化模型代替实际物理样机进行仿真分析的技术。传统的飞行器研发流程往往遵循一套特定的循环结构:在设计初期,工程人员需要对飞行器提供一个综合的设计思路(初期蓝图),随后对原型机进行可行性分析,将结论进行反馈,最后对初期蓝图进行下一步修
  • 2024-06-21进程间和线程间通信方式
    在计算机科学领域,进程(process)和线程(thread)是两个基本的执行单元。进程是独立的程序运行实例,拥有自己的内存空间和资源;线程则是进程内部的执行路径,可以共享进程的内存和资源。为了实现进程或线程之间的数据交换和协调,需要采用不同的通信方式。以下我们详细讨论几种常见的进程间
  • 2024-06-21Java 消息队列详解
    什么是消息队列?消息队列是一种通过存储消息来实现系统间通信的中间件。消息生产者将消息发送到队列中,消息消费者从队列中取出并处理消息。这种模式实现了生产者和消费者的解耦,即使它们不同时在线,也可以通过消息队列进行通信。消息队列的关键概念消息(Message):传递的数据单