消息中间件
aa1215018028
这个作者很懒,什么都没留下…
展开
-
Kafka原理详解
为什么需要消息队列周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了…… 第二天正常上着班,突然接到快递小哥的电话:小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。我:“这……我在上班呢,可以晚上送过来吗?“。小哥:“晚上可不行哦,晚上我也下班了呢!”。于是两个人僵持了很久……最后小原创 2020-09-27 09:55:16 · 346 阅读 · 0 评论 -
ActiveMQ集群搭建详解
ActiveMQ的集群 内嵌代理所引发的问题:消息过载 管理混乱如何解决这些问题——集群的两种方式:Master slave Broker clustersActiveMQ的集群有两种方式: MASTER/SLAVE模式 Cluster模式 Pure Master Slave Pure master slave的工作方式: ...原创 2018-09-14 12:13:20 · 4860 阅读 · 0 评论 -
Spring整合ActiveMQ
在实际的项目中如果使用原生的ActiveMQ API开发会比较麻烦,因为需要创建连接工厂,创建连接等,我们应该使用一个模板来做这些繁琐的事情,Spring帮我们做了!Spring提供了对JMS的支持,需要添加Spring支持jms的包,如下:<dependency> <groupId>org.springframework</groupId>...原创 2018-09-25 18:05:26 · 184 阅读 · 0 评论 -
MQTT 客户端收发 MQTT 消息
本文主要介绍如何使用 MQTT 客户端收发 MQTT 消息,并给出示例代码供前期开发测试参考,包括资源创建、环境准备、示例代码、注意事项等。注意:本文给出的实例均基于 Eclipse Paho Java SDK 实现,SDK 下载请参见 MQTT 接入准备。如使用其他第三方的客户端,请适当修改。1. 资源创建使用 MQ 提供的 MQTT 服务,首先需要核实应用中使用的 Topic ...原创 2018-09-20 10:00:21 · 8523 阅读 · 0 评论 -
Spring与ActiveMQ整合(多线程并发发送与接收消息)
本文博客介绍生产者和消费者方都使用多线程技术并发发送和接收消息。1.生产者创建固定线程数3的线程池,且发送方开启了四个线程任务。package com.spring.thread.jms;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Exe...原创 2018-09-26 14:11:19 · 1495 阅读 · 0 评论 -
ActiveMQ插件开发
AMQ有开放插件开发接口,今天研究了一下,直接给项目组加了个消息流监控的功能,看起来还是挺好的。开发步骤是:1.开发插件jar包我写的这个插件主要作用是当有消息被发送的时候,就往日志中记录一条。不使用amq自带的logging plugin的主要原因是格式问题,而且我只需要筛选某几个应用的消息。注:BrokerFilter这个类中的方法决定了插件能实现的功能,比如连接建立、连接断开、消息...原创 2018-09-21 11:08:48 · 431 阅读 · 0 评论 -
spring+activemq实战之配置监听多队列实现不同队列消息消费
项目结构截图maven所需依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven....原创 2018-09-27 12:15:31 · 1260 阅读 · 0 评论 -
RPC-client异步收发核心细节
通过上篇文章的介绍,知道了要实施微服务,首先要搞定RPC框架,RPC框架分为客户端部分与服务端部分。RPC-client的部分又分为:(1)序列化反序列化的部分(上图中的1、4)(2)发送字节流与接收字节流的部分(上图中的2、3)前一篇文章讨论了序列化与范序列化的细节,这一篇文章将讨论发送字节流与接收字节流的部分。 客户端调用又分为同步调用与异步调用同步调用的代码片段...原创 2018-10-17 15:46:55 · 484 阅读 · 0 评论 -
RocketMQ概念模型
一 前言 对于任何一款中间件产品而言,清晰的概念模型是帮助用户正确理解使用它的关键。由于RocketMQ并没有遵循业界现有的JMS或AMQP规范,而且功能集比后两者更加丰富,描述该中间件产品的概念模型是一项比较有挑战的任务。RocketMQ的官方文档《RocketMQ 原理简介》对产品的概念模型给出了比较简洁而清晰的介绍。 本文将针对用户在使用RocketMQ过程中需要重点理解的一些概...原创 2018-10-22 14:58:00 · 258 阅读 · 0 评论 -
SpringBoot整合ActiveMQ
前言 很多项目, 都不是一个系统就做完了. 而是好多个系统, 相互协作来完成功能. 那, 系统与系统之间, 不可能完全独立吧? 如: 在学校所用的管理系统中, 有学生系统, 资产系统, 宿舍系统等等. 当学期结束之后, 是否需要对已经结束的期次进行归档操作. 假如归档功能在学生系统中, 那点击归档之后, 学生是不是还要关心宿舍那边是否已结束, 学生所领资产是否全都归还? 显然...原创 2018-10-20 15:37:13 · 222 阅读 · 0 评论 -
RocketMQ命令使用详解
首先进入 RocketMQ 工程,进入/RocketMQ/bin 在该目录下有个 mqadmin 脚本 . 查看帮助: 在 mqadmin 下可以查看有哪些命令 a: 查看具体命令的使用 : sh mqadmin b: sh mqadmin help 命令名称 例如,查看 updateTopic 的使用sh mqadmin help updateTopi...原创 2018-10-23 09:51:30 · 8449 阅读 · 0 评论 -
RocketMQ-消息重试,消息幂等去重,消息模式
消息重试Rocketmq提供了消息重试机制,这是一些其他消息队列没有的功能。我们可以依靠这个优秀的机制,而不用在开发中增加更多的业务代码去实现Consumer 消费消息失败后,要提供一种重试机制,令消息再消费一次。Consumer 消费消息失败通常可以认为有以下几种情况 由于消息本身的原因,例如反序列化失败,消息数据本身无法处理(例如话费充值,当前消息的手机号被注销,无法充值)等...原创 2018-11-02 19:26:59 · 2505 阅读 · 0 评论 -
RocketMQ消费优化
前言消息团队一直致力于RocketMQ的性能优化,双十一前进行了低延时(毛刺)优化,保障了双十一万亿消息的流转如丝般顺滑,在2016年双十一种,MetaQ以接近万亿的消息总量支撑着全集团数千个应用,在系统解耦、削峰填谷、数据库同步、位点回滚消费等多种业务场景中,MetaQ都有精彩、稳定的表现。高可用低延迟,高并发抗堆积,2016双11的MetaQ真正做到了如丝般顺滑。而最近通过对性能的持续...原创 2019-01-03 20:42:18 · 4154 阅读 · 1 评论 -
spring boot 集成kafka——多线程,消费者使用kafka的原生api实现
application-test.properties 1 #kafka 2 kafka.consumer.zookeeper.connect=*:2181 3 kafka.consumer.servers=*:9092 4 kafka.consumer.enable.auto.commit=true 5 kafka.consumer.session.timeout=6000 ...原创 2019-03-14 14:47:30 · 8052 阅读 · 1 评论 -
rocketmq批量消息投递
rocketmq批量消息投递批量发送消息可提高传递小消息的性能。同时也需要满足以下特征批量消息要求必要具有同一topic、相同消息配置 不支持延时消息 建议一个批量消息最好不要超过1MB大小 示例 小于1MBString topic = "BatchTest";List<Message> messages = new ArrayList<>()...原创 2019-03-12 19:59:56 · 434 阅读 · 0 评论 -
ActiveMQ与虚拟通信
ActiveMQ提供了虚拟通道的特性(Virtual Destination),它允许一个逻辑通道(logical destination)映射成一个或者多个物理通道(physical destination);它可以非常灵活的解决"消息整合"方面的问题,它可以实现: 1) 提供了VirtualTopic特性,可以让一个订阅者的消息列表,作为Queue来消费。 2) 提供了Co...原创 2018-09-14 10:39:25 · 272 阅读 · 0 评论 -
activeMQ中的Virtual Topics详解及使用
一、好言太远容易生疏,太近容易情尽。二、背景最近接手项目,公司的MQ做了一层封装,挺好用的,会有一片文章记载,然后在其中我们使用了<a href="http://activemq.apache.org/virtual-destinations.html">虚拟话题</a>的概念,这个我没有使用过,之前一直都是使用单纯的队列或者topic,所以就查询资料,自己配制...原创 2018-09-13 19:31:12 · 2145 阅读 · 0 评论 -
史上Kafka最详细原理总结
KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等...原创 2018-06-28 19:58:26 · 401 阅读 · 0 评论 -
Kafka 几个实现细节
Kafka 几个实现细节关于Kafka大方向上的介绍已经很多了,infoq上面不少不错的资源基本概念下面的概念中有部分逻辑概念,部分实体概念。Broker物理概念,指服务于Kafka的一个node。topicMQ中的抽象概念,是一个消费标示。用于保证Producer以及Consumer能够通过该标示进行对接。可以理解为一种Naming方式。partitionTopic的一个子概念,一个topic可...原创 2018-07-04 20:35:44 · 304 阅读 · 0 评论 -
分布式消息系统Kafka简介
Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了...原创 2018-07-04 21:13:11 · 272 阅读 · 0 评论 -
RabbitMQ使用分析和高可用集群搭建
一、RabbitMQ 基础理解 RabbitMQ,是一个使用 erlang 编写的 AMQP(高级消息队列协议)的服务实现,简单来说,就是一个功能强大的消息队列服务。 概念理解: Producer: 消息发送者RabbitMQ: Vhost: 相当于分组,每个vhost下数据是隔离的Exchange: 路由器,接收消息,本根据RoutingKey分发消息 headers...原创 2018-07-05 19:50:04 · 3126 阅读 · 0 评论 -
消息队列总结-Kafka
阅读数:258Kafka的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息,并需要能够支撑较大的数据量,且具备良好的容错性。主要设计目标如下:以时间复杂度O(1)的方式提供消息持久化能力,并保证即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率,即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。 支持Kafka Server间的消息分区,及分布...原创 2018-07-25 13:51:26 · 754 阅读 · 0 评论 -
Centos7下安装配置elasticsearch 6.3.1
1)下载Elasticsearch 6.3.1 地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gz2)拷贝拷贝到服务器上,解压:tar -xvzf elasticsearch-6.3.1.tar.gz 。解压后路径:/home/elasticsearch-6.3.13)...原创 2018-07-27 10:37:47 · 1091 阅读 · 0 评论 -
RabbitMQ集群整合SpringBoot2.x
RabbitMQ相信大家已经再熟悉不过了,作为业界四大主流消息中间件之一(Apache RocketMQ、Apache Kafka、Apache ActiveMQ、RabbitMQ),它具有非常好的性能和可靠性的集群模式,不仅仅在各大互联网大厂中广泛使用(比如同程艺龙、美团点评等),而且在互联网金融行业也常常被作为首选!SpringBoot作为互联网开发利器已经不需要我再过多介绍什么,接下来我们一...原创 2018-08-01 09:50:52 · 6996 阅读 · 6 评论 -
使用Docker部署RabbitMQ集群
使用Docker部署RabbitMQ集群概述本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘。Windows10上Docker的安装因为本人用的是Windows系统,所有推荐一个不错的安装文章,详见:https://blog.csdn.net/xiaoping0915/article/details/...原创 2018-08-01 10:20:52 · 2014 阅读 · 1 评论 -
RocketMQ详解+部署+案例
Github 上关于 RocketMQ 的介绍: RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。具有以下特性:支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型 在一个队列中可靠的先进先出(FIFO)和严格的顺序传递 支持拉(pull)和推(push)两种消息模式 单一队列百万消息的堆积能力 支持多种消息协议,如 JMS、MQTT 等 分布式高可用的部...原创 2018-09-04 11:08:12 · 2093 阅读 · 0 评论 -
RocketMQ部署与使用
好久没有更新博客了,这次讲讲RocketMQ的部署和使用。http://rocketmq.apache.org/首先去下载源码,网站上有说明RocketMQ的部署环境:1、64bit OS, Linux/Unix/Mac is recommended;2、64bit JDK 1.8+;3、Maven 3.2.x4、Git这里的Git可有可无(用于Git工具从GitHub下载Rocket...原创 2018-09-03 12:17:59 · 220 阅读 · 0 评论 -
搭建RocketMQ踩的坑
RocketMQ搭建步骤开发环境64位 centos7(虚拟机,1G内存) 64位 jdk1.8 maven 3.5.0 Git tomcat(用于启动rocketmq-console) rocketmq 3.2.6(最好选择maven仓库中已有的版本,保持客户端依赖的jar包和服务器版本一致) rocketmq-console环境变量配置vi /etc/profile ...原创 2018-09-03 14:27:45 · 2107 阅读 · 0 评论 -
rocketMQ避坑记录
环境配置1、 推荐使用64位OS,Linux/Unix/Mac2、 64bit JDK 1.8+3、 Maven 3.2.x 注意:在搭建rocketMQ前,需配置好JDK1.8,若用source release版需配置maven环境rocketMQ下载地址source release版下载地址:http://mirror.bit.edu.cn/apache/roc...原创 2018-09-03 14:58:56 · 1169 阅读 · 0 评论 -
RocketMq有3中消息类型
一、RocketMq有3中消息类型1.普通消费2. 顺序消费3.事务消费顺序消费场景在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。也就是这个三个环节要有顺序,这个订单才有意义。RocketMQ可以保证顺序消费。rocketMq实现顺序消费的原理 produce在发送消息的时候,把消息发到同一个队列(queue)中,...原创 2018-09-03 18:31:14 · 460 阅读 · 0 评论 -
分布式消息中间件-RocketMQ
简述 今天要给大家分享的是分布式消息中间件。消息中间件主要是实现分布式系统中解耦、异步消息、流量销锋、日志处理等场景,后面我也会结合一些场景进行探讨。现在生产中用的最多的消息队列有Activemq,rabbitmq,kafka,rocketmq等。 不过这个题目写的有点大。为什么这样说呢,因为虽然这样写,但实际上我这边是以Jms规范和rocket...原创 2018-09-03 18:34:06 · 288 阅读 · 0 评论 -
ActiveMQ之Mqtt的TCP丢包
现象Mqtt Consumer应该收到的消息少于预期,登录ActiveMQ的管理页面里的Topics,查看Messages Enqueued发现同样少于理应接收的数量。定位问题怀疑是TCP丢包,通过netstat -s命令观察发送消息前后Tcp信息的输出 对比两次Tcp信息的输出,发现packets pruned from receive queue because of socke...原创 2018-09-13 14:26:21 · 1616 阅读 · 0 评论 -
Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别
原文:http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_source=tuicool&utm_medium=referral 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多...转载 2018-06-02 18:09:27 · 1129 阅读 · 0 评论