随笔分类 -  message-queue

1 2 下一页
MOM(Message-Oriented Middleware,面向消息的中间件)
分布式延迟消息队列实现分析与设计
摘要:介绍 延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢? 很多时候我们会有延时处理一个任务的需求,比如说: 2个小时后给用户发送短信。15分钟后关闭网络连接。2分钟后再次尝试回调。 下面我们来分别探讨一下几种实现方案: 1、Java中的DelayQueue 阅读全文
posted @ 2018-09-04 17:13 duanxz 阅读(6362) 评论(0) 推荐(0) 编辑
基于redis的延迟消息队列设计
摘要:需求背景 用户下订单成功之后隔20分钟给用户发送上门服务通知短信 订单完成一个小时之后通知用户对上门服务进行评价 业务执行失败之后隔10分钟重试一次 类似的场景比较多 简单的处理方式就是使用定时任务 假如数据比较多的时候 有的数据可能延迟比较严重,而且越来越多的定时业务导致任务调度很繁琐不好管理。 阅读全文
posted @ 2018-09-04 16:30 duanxz 阅读(2824) 评论(0) 推荐(0) 编辑
RocketMQ之一:RocketMQ整体介绍
摘要:常用MQ介绍及对比--《MQ详解及四大MQ比较》 RocketMQ环境搭建--《RocketMQ之三:RocketMQ集群环境搭建》 RocketMQ物理部署结构 RocketMQ的消息存储--《RocketMQ之六:RocketMQ消息存储》 RocketMQ各角色基本数据结构 RocketMQ生 阅读全文
posted @ 2017-01-10 22:59 duanxz 阅读(10382) 评论(0) 推荐(7) 编辑
RocketMQ之二:分布式开放消息系统RocketMQ的原理与实践(消息的顺序问题、重复问题、可靠消息/事务消息)
摘要:分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了三个问题: RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实 阅读全文
posted @ 2016-11-11 11:21 duanxz 阅读(4665) 评论(0) 推荐(1) 编辑
安装RabbitMQ
摘要:windows x64下安装RabbitMQ 下载 http://www.erlang.org/downloads 获取otp_win64_19.3.exe安装包 安装 1.安装Erlang 双击otp_win64_19.3.exe,安装完成之后设置环境变量:控制面板>>系统>>高级设置>>环境变量 阅读全文
posted @ 2016-04-19 16:51 duanxz 阅读(2138) 评论(0) 推荐(0) 编辑
ActiveMQ的多种部署方式--ActiveMQ学习之二
摘要:单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供了master-slave、broker cluster等多种部署方式,但通过分析多种部署方式之后我认为需要将两种部署方式相结合才能满足我们公司分布式和高可用的需求,所以后面就重点将解如何将两种部署方式相结合。 主 阅读全文
posted @ 2016-02-18 13:11 duanxz 阅读(1510) 评论(0) 推荐(0) 编辑
利用nginx_push_stream_module实现服务器消息推送
摘要:NGiNX_HTTP_Push_Module 是一个 Nginx 的扩展模块,它实现了 HTTP Push 和Comet server的功能。HTTP Push 被经常用在网页上主动推的技术,例如一些聊天室啊,更新信息非常频繁的应用场合。 Http Server Push是一种推送技术,服务器主动向 阅读全文
posted @ 2016-02-17 10:11 duanxz 阅读(4945) 评论(2) 推荐(0) 编辑
消息推送技术
摘要:一、背景 消息推送是针对 Web 应用开发领域的技术,指服务端以主动方式将信息送达客户端。主要用于提升用户体验,避免用户刷新页面从服务端拉取数据。例如 Web 邮件中自动出现刚收到的邮件项,Web 即时通讯自动提示新到消息等应用场景。 1.1、多客户端支持 在实际应用场景中,客户端可能是浏览器或者 阅读全文
posted @ 2016-02-17 10:01 duanxz 阅读(2201) 评论(1) 推荐(0) 编辑
MQ、JMS以及ActiveMQ
摘要:MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远 阅读全文
posted @ 2016-02-16 16:45 duanxz 阅读(672) 评论(0) 推荐(0) 编辑
ActiveMQ入门之四--ActiveMQ持久化方式
摘要:消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重新启动后仍然可以将消息发送出去,如果把这种持久化和ReliableMessaging结合起来应该是很好的保证了消息的可靠传送。 消息持久性的原理很简单 阅读全文
posted @ 2016-02-16 15:56 duanxz 阅读(3425) 评论(0) 推荐(0) 编辑
ActiveMQ之一--ActiveMQ入门
摘要:MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。 一、 概述与介绍 ActiveMQ 是Apache 阅读全文
posted @ 2016-01-25 13:40 duanxz 阅读(923) 评论(0) 推荐(0) 编辑
gopush-cluster 架构
摘要:前言 gopush-cluster是一套golang开发的实时消息推送集群,主要分享一下开发这套系统的想法和思路。 架构 主要分为三个模块来开发,comet/web/message。 comet 主要负责消息排队、消息推送以及和客户端的连接维护;整套系统依据是消息ID顺序原则获取消息(客户端本地获取 阅读全文
posted @ 2016-01-19 19:48 duanxz 阅读(496) 评论(0) 推荐(0) 编辑
RocketMQ总结
摘要:架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结User GuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年 阅读全文
posted @ 2016-01-12 16:16 duanxz 阅读(737) 评论(0) 推荐(0) 编辑
RocketMQ之三:RocketMQ集群环境搭建
摘要:1、初步理解Producer/Consumer Group在安装RocketMQ之前我们先来理解Group概念,在RocketMQ中Group是很重要的。通过Group机制,让RocketMQ天然的支持消息负载均衡!比如某个Topic有9条消息,其中一个Consumer Group有3个实例(3个进 阅读全文
posted @ 2016-01-04 11:37 duanxz 阅读(4963) 评论(0) 推荐(0) 编辑
RocketMQ之三:nameserver源码解析
摘要:NameServer代码结构 如下图: 代码结构 如上图所示,nameServer设计比较轻量级的,其中几个主要类的功能为: NamesrvStartup:从命名就可以看出这为NameServer的启动类。 RouteInfoManager:从类名可以看出为路由信息的管理类,就是存放Broker的状 阅读全文
posted @ 2015-12-28 09:24 duanxz 阅读(1171) 评论(0) 推荐(0) 编辑
RocketMQ之四:RocketMq事务消息
摘要:事务消息 通过消息的异步事务,可以保证本地事务和消息发送同时执行成功或失败,从而保证了数据的最终一致性。 发送端执行如下几步: 发送prepare消息,该消息对Consumer不可见 执行本地事务(如 update DB) 若本地事务执行成功,则向MQ提交消息确认发送指令;若本地事务执行失败,则向M 阅读全文
posted @ 2015-12-21 14:35 duanxz 阅读(1383) 评论(0) 推荐(0) 编辑
RocketMQ之七:RocketMQ管理与监控
摘要:前言 首先提出我们的监控诉求,出现如下情况时,希望能够及时接收到系统告警通知: RocketMQ 服务宕机 RocketMQ 消费者下线 RocketMQ 消息出现长时间或者大量堆积 本文将通过修改 rocketmq-console源码的方式,增加RocketMQ 消费者下线 和RocketMQ 消 阅读全文
posted @ 2015-12-03 23:17 duanxz 阅读(14282) 评论(0) 推荐(2) 编辑
RocketMQ之八:重试队列,死信队列,消息轨迹
摘要:问题思考 死信队列的应用场景? 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限? 死信队列如何消费? 重试队列和死信队列的配置 消息轨迹 1、应用场景 一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续的数据修复处理; 2 阅读全文
posted @ 2015-12-03 21:54 duanxz 阅读(8573) 评论(0) 推荐(3) 编辑
RocketMQ之八:水平扩展及负载均衡详解
摘要:RocketMQ是一个分布式具有高度可扩展性的消息中间件。本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的。 NameServer集群 提供轻量级的服务发现和路由。每个NameServer 记录完整的路由信息,提供等效的读写服务,并支持快速存储扩展。 就是一个注册中心 阅读全文
posted @ 2015-08-06 15:38 duanxz 阅读(4551) 评论(1) 推荐(0) 编辑
RocketMQ之九:RocketMQ消息发送流程解读
摘要:在讨论这个问题之前,我们先看一下Client的整体架构。 Producer与Consumer类体系 从下图可以看出以下几点:(1)Producer与Consumer的共同逻辑,封装在MQClientInstance,MQClientAPIImpl, MQAdminImpl这3个蓝色的类里面。所谓共同 阅读全文
posted @ 2015-08-06 09:38 duanxz 阅读(4783) 评论(0) 推荐(1) 编辑

1 2 下一页