原文:IM系统中如何保证消息的可靠投递(即QoS机制)(转)

消息的可靠性,即消息的不丢失和不重复,是im系统中的一个难点。当初qq在技术上 当时叫oicq 因为以下两点原因才打败了icq: qq的消息投递可靠 消息不丢失,不重复 qq的垃圾消息少 它antispam做得好,这也是一个难点,但不是本文重点讨论的内容 今天,本文将用十分通俗的语言,来讲述webim系统中消息可靠性的问题。 一 报文类型im的客户端与服务器通过发送报文 也就是请求包 来完成消息的 ...

2016-06-21 15:21 0 2799 推荐指数:

查看详情

阿里IM技术分享(四):闲鱼亿级IM消息系统可靠投递优化实践

本文由阿里闲鱼技术团队景松分享,原题“到达率99.9%:闲鱼消息在高速上换引擎(集大成)”,有修订和改动,感谢作者的分享。 1、引言 在2020年年初的时候接手了闲鱼的IM即时消息系统,当时的消息存在各种问题,网上的用户舆情也是接连不断。 典型的问题,比如: 1)“聊天消息经常丢失 ...

Sun Sep 26 07:28:00 CST 2021 0 129
RabbitMQ如何保证发送端消息可靠投递

消息发布者向RabbitMQ进行消息投递时默认情况下是不返回发布者该条消息在broker的状态的,也就是说发布者不知道这条消息是否真的抵达RabbitMQ的broker之上,也因此会发生消息丢失的情况。 对此,RabbitmQ提供了两种解决方案(以官方提供的SDK为例) 1.通过AMOP提供 ...

Fri Nov 03 01:35:00 CST 2017 1 6227
RocketMQ如何保证消息可靠投递

要想保证消息可靠投递,无非保证如下3个阶段的正常执行即可: 生产者将消息成功投递到broker broker将投递过程的消息持久化下来 消费者能从broker消费到消息 发送端消息重试 roducer向broker发送消息后,没有收到broker的ack时 ...

Sat Jan 08 16:50:00 CST 2022 0 991
《即时消息技术剖析与实战》学习笔记4——IM系统如何保证消息可靠

IM 系统保证消息可靠投递主要体现在两方面,一是消息的不丢失,二是消息的不重复。 一、消息不丢失 消息丢失的原因 首先看一下发送消息的流程,如下图所示: 图片来源于《即时消息技术剖析与实战》第 04 讲 用户 A 发出的消息,先到达IM服务端(步骤1),由服务端暂存(步骤 ...

Wed Sep 11 00:59:00 CST 2019 3 911
Rabbitmq可靠消息投递消息确认机制

前言 我们知道,消息从发送到签收的整个过程是 Producer-->Broker/Exchange-->Broker/Queue-->Consumer,因此如果只是要保证消息可靠投递,我们需要考虑的仅是前两个阶段,因为消息只要成功到达队列,就算投递成功。 比如投递消息 ...

Mon Jan 18 20:43:00 CST 2021 0 594
RabbitMQ 消息可靠投递

可靠投递: 1、保障消息能够成功发出 2、保障rabbitmq(broker)能够成功接收。接收指的是:broker接收到生产者发送的消息,放到exchange,分发给对应的queue,交付给对应的消费者。 3、发送端要收到broker的确认应答,确认broker已收到|处理消息 ...

Wed Mar 25 01:45:00 CST 2020 1 597
RabbitMQ 消息可靠投递

mq 提供了两种方式确认消息可靠投递 confirmCallback 确认模式 returnCallback 未投递到 queue 退回模式 在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两个选项用来 ...

Thu May 16 02:12:00 CST 2019 0 851
消息投递保证

一.消息投递保证分类 消息投递保证主要是三种形式: 1.At most once—Messages may be lost but are never redelivered. 最多一次 --- 消息可能丢失,但绝不会重发。 2.At least once—Messages ...

Thu Aug 17 05:31:00 CST 2017 0 1100
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM