1、消息队列的消息重复消费 消息重复消费是使用消息队列之后,必须考虑的一个问题,也是比较严重和常见的问题,但凡用到了消息队列,第一时间考虑的就是重复消费的问题。 就比如有这样的一个场景,用户下单成功后我需要去一个活动页面给他加GMV(销售总额),最后根据他的GMV去给他发奖励,这是电商活动很常见的玩 ...
分类:
其他好文 时间:
2020-04-16 00:33:51
阅读次数:
228
RabbitMQ是基于AMQP(Advanced Message Queue)标准协议规范的实现,由Erlang语言开发。 RabbitMQ结构图: 一、名词概念 Broker:消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue:消息队列载体,每个 ...
分类:
其他好文 时间:
2020-04-15 00:53:38
阅读次数:
48
概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用、低延迟、可靠性 消息堆积能力 可扩展性 业界主流MQ ActiveMQ:适合传统需求,并发性差 RabbitMQ:扩展性差 RocketMQ:扩展性强 Kafka ...
分类:
编程语言 时间:
2020-04-15 00:32:15
阅读次数:
107
前言 近期在研究各种消息队列方案,为了有一个直观的使用体验,我把Kafka,RocketMQ,RabbitMQ各自部署了一遍,并使用了最基本的生产与消费消息功能。在部署过程中也遇到一些问题,特此记录。本文只适用于没有使用过消息队列,还停留在安装部署阶段的新手用户,要了解一个软件,最好的开始方法是开始 ...
分类:
其他好文 时间:
2020-04-14 21:03:28
阅读次数:
69
RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。 使用场景: Hello World package com.qa.util; import com.rabbitmq.clie ...
分类:
其他好文 时间:
2020-04-14 16:56:00
阅读次数:
62
1. 概念 1.1 AMQP协议 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语 ...
分类:
其他好文 时间:
2020-04-14 16:52:39
阅读次数:
69
转:https://www.cnblogs.com/mayundalao/p/11798502.html 简述 分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。 例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。 解决方案 在分布式系统中,要实现分布式事务, ...
分类:
其他好文 时间:
2020-04-13 21:08:07
阅读次数:
79
ZooKeeper是一个分布式的、开源的分布式应用程序协调服务,可以在分布式环境中实现应用配置管理、统一命名服务、状态同步服务等功能。ZooKeeper是一种为分布式应用所设计的高可用、高性能的开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeeper开源的特性,在其分布式锁实现的基础上,又被摸索出了其它的功用,譬如:配置维护、组服务、分布式消息队列等等。ZooKeeper维护了一个
分类:
其他好文 时间:
2020-04-13 01:03:45
阅读次数:
66
前言 介绍Rabbimq Rabbitmq消息队列是干嘛的? 简单的说,消息队列,引申一下就是传递消息用的队列,也可以称为传递消息的通信方法。用争抢订单的快车举个例子,假如,A用户发送了一个用车的消息,那么消息队列要做的就是把A用户用车的这个消息广而告之,发送到一个公用队列当中,司机只管取到消息,而 ...
分类:
其他好文 时间:
2020-04-12 17:01:04
阅读次数:
73
1.java多线程 1.1--java多线程通信? 多线程并发编程时,难免会遇到线程间的通信问题。线程通信方式的思想大体上来说可以分为两种:共享和传递。 共享的实现方式可以是共享变量、共享文件、数据库、网络等。传递的实现方式可以是消息队列、生产者-消费者模型等。 (1)共享变量: 使用volatil ...
分类:
编程语言 时间:
2020-04-12 14:30:23
阅读次数:
68