消息队列
文章平均质量分 63
编程写手
路漫漫其修远兮,吾将上下而求索!
展开
-
Apache RocketMQ:理解官方的Batch、Filter、设置用户属性的例子
1. 声明当前内容主要为本人学习Apache RocketMQ的使用,主要参考官方文档主要包括:批量发送Message设置DelayTime(不能再批量发送的时候使用)设置用户属性开启SQL过滤2. 开启SQL过滤如果使用了SQL过滤但当前的broker开启SQL过滤就会导致消费者连接时报错:The broker does not support consumer to filter message by SQL92,经过查询找到需要在broker.conf中设置一个属性enablePr原创 2021-10-31 13:36:35 · 332 阅读 · 0 评论 -
Apache RocketMQ:理解官方的Broadcasting的例子
1. 声明当前内容主要用于学习和理解官方的Broadcasting,当前内容参考官方文档翻译后:广播是向一个主题的所有订户发送信息。如果想让所有订阅者都收到关于某个主题的消息,广播是一个不错的选择。消费者组中的所有消费者默认是均衡消费当前消费组的消息(100个消息发到消费组中2个,那么每个消费者默认消费是50个消息)不同的消费组对于相同的订阅都是消费相同个数的(A消费组100,B消费组100),如果每个组中的消费者都只有1个,那么就类似广播2. 消费组消费消息(订阅有相同的topic)消费者原创 2021-10-31 11:22:49 · 917 阅读 · 0 评论 -
Apache RocketMQ:一个奇怪的现象
当前版本:rocketmq4.91. 声明当前内容主要为本人学习和记录使用Apache RocketMQ的问题2. 问题描述问题描述如下:昨天关闭了rocketmq今天再次启动rocketmq且rocketmq也启动了无法使用生产者向TestTopic发送消息,生产者无法启动消费者可以正常的启动并订阅TestTopic昨天获取所有Topic时为正常显示,且可以访问系统的Topic,今天却直接返回空集合通过topicConfigTable可以看到TestTopic存在执行生产者和查询T原创 2021-10-24 14:18:10 · 1000 阅读 · 0 评论 -
Apache RocketMQ:使用api实现对Topic的基本操作
当前rocketmq版本4.91. 声明当前内容主要为本人学习Rocketmq之用,当前内容部分参考官方文档pom依赖和前面的一样:之前的pom依赖2. 重要的概念就是Name Server就是一个名称服务器群组,所有的broker都注册到名称服务器中,名称服务器控制灾难恢复(保存元数据信息)就是领导者,主要控制集群控制,实际数据的读写等操作name server 默认启动在9876broker server 默认启动在10911所以如果在Rocketmq中只要出现与外界交互的参数原创 2021-10-23 15:15:49 · 1594 阅读 · 0 评论 -
Apache RocketMQ:使用官方demo测试rocketmq
当前rocketmq版本4.91. 声明当前内容主要为使用官方的demo测试之前的rocketmq是否正常,测试发送和消费消息,主要参考官方文档2. pom依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.9.0</version&原创 2021-10-17 17:49:44 · 1026 阅读 · 0 评论 -
Apache RocketMQ:Linux下的配置和启动
1. 声明当前内容主要为本人学习和使用在linux下安装rocketmq4.9前置条件:jdk1.82. 下载和解压这里下载使用rocketmq4.9版本的按照官方命令执行unzip操作(如果缺少unzip指令记得安装)3. 配置和启动查看官方需要的配置其中在启动过程中出现一些错误:执行 ./mqnamesrv &出现错误(&表示启动该服务并在后台运行):执行./mqbroker -n localhost:9876 &上面错误出现的主要原因:jv原创 2021-10-17 16:41:52 · 1023 阅读 · 1 评论 -
Apache Kafka:集群的搭建和测试
当前版本:kafka_2.12-2.8.0、CentOS71. 声明当前内容主要为学习和使用Kafka搭建集群,当前内容借鉴官方文档官方文档描述如下:要想搭建集群,就必须配置相同的zookeeper地址,并且每个kafka的broker.id必须不相同,如果相同那么只能启动最开始的那个,另外一个启动失败!2. 搭建集群主机ip作用主机1192.168.1.101公用的zookeeper主机2192.168.1.102Kafka1主机3192.168.1.原创 2021-08-15 13:52:20 · 200 阅读 · 0 评论 -
Apache Kafka:使用java方式操作消费组和重置分区偏移量(admin api)
当前版本:kafka_2.12-2.8.01. 声明当前内容主要为本人学习和测试使用java方式操作消费组和重置分区偏移量,主要参考:Apache Kafka官方文档主要为:使用java方式实现增删查消费组使用admin api方式重置分区偏移量2. 准备条件使用命令行方式创建一个带分区的复制系数的topic:test./bin/kafka-topics.sh --create --topic test --replication-factor 1 --partitions 1 --原创 2021-08-14 15:28:52 · 2232 阅读 · 1 评论 -
Apache Kafka:使用java方式操作stream(实现官方的wordcount)
当前版本:kafka_2.12-2.8.01. 声明当前内容主要为使用kafka的stream实现官方的wordcount操作,并将结果输出到控制台,当前内容主要参考:官方文档2. 基本代码package com.hy.apache.kafka.start.api.streams;import java.util.Arrays;import java.util.Properties;import org.apache.kafka.common.serialization.Serdes;i原创 2021-08-08 17:06:02 · 532 阅读 · 0 评论 -
Apache Kafka:使用java和命令行方式操作topic(admin api)
当前版本:kafka_2.12-2.8.01. 声明当前内容主要为本人学习kafka的topic的增删改查操作,当前内容参考官方文档其中--bootstrap-server表示当前的kafka的地址和端口--topic指定的就是主题名称--create,--delete,--alter,--list/--describe表示各种操作2. 使用命令行的操作首先启动zookeeper,然后启动当前的kafka(当前kafka启动在192.168.1.105:9092)1.创建topic./原创 2021-08-08 16:57:52 · 423 阅读 · 0 评论 -
Apache Flink:使用Apache Kafka作为Sink的简单demo(数据结果存放地方)
1. 声明当前内容主要为测试和使用Flink,将数据读取处理后放入到kafka的topic中主要内容:使用Flink读取文本内容过滤读取的内容将读取的内容放入kafka中2.基本demo1.pom依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <flink.version>1.13.0</flink.versi原创 2021-05-23 14:43:55 · 714 阅读 · 0 评论 -
Apache Flink:使用Apache Kafka作为DataSource的简单demo
1. 声明当前内容主要为测试和使用Apache Kafka作为Flink的DataSource的最基本的demo当前内容主要参考:Flink官方文档,Kafka官方文档其中使用kafka发送消息的参考:博文当前内容为使用Apache Flink接收Kafka的topic中的消息作为DataSource简单的print当前接收的消息2. 基本pom依赖核心为:flink-connector-kafka_2.12<properties> <project.build.原创 2021-05-23 12:52:51 · 345 阅读 · 0 评论 -
Apache Kafka:简单的命令行操作topic实现消息发送和接收
当前开发环境:CentOS7,kafka_2.12-2.8.0.tgz1.声明当前内容主要为学习和测试使用Apache Kafka的基本demo,当前内容主要来源:Apache Kafka官方demo主要为:启动kafka使用命令行方式创建topic向当前创建的topic中发布和订阅消息2.基本demo当前的kafka中需要先启动zookeeper,否则直接启动当前的kafka会出现不断的错误启动成功后就可以执行创建topic的命令了1.创建topic(名称为test-events的原创 2021-05-23 12:41:11 · 6877 阅读 · 0 评论 -
SpringBoot之使用ApacheArtemis(ActiveMQ分支)实现发送和处理消息
1.声明当前内容主要用于本人学习和使用SpringBoot方式操作Artemis(apache-artemis-2.17.0)的基本操作2.基本pom依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.18.RELEASE</vers原创 2021-03-01 09:01:41 · 1696 阅读 · 0 评论 -
ApacheArtemis:Linux下的安装和启动
1.声明当前内容主要用于记录在Linux的CentOS7中安装和启动Artemis(一个类似ActiveMQ的分支)2.下载解压1.下载(这里选择apache-artemis-2.17.0这个版本)wget https://mirrors.bfsu.edu.cn/apache/activemq/activemq-artemis/2.17.0/apache-artemis-2.17.0-bin.tar.gz2.解压:tar xvf apache-artemis-2.17.0-bin.tar.gz原创 2021-02-28 16:32:53 · 1456 阅读 · 0 评论 -
ActiveMQ:使用java方式发送和拉取消息
1.声明当前内容主要用于学习和测试使用java的方式操作ActiveMQ,以此作为记录,当前内容借鉴于官方文档2.基本的demo1.pom依赖<dependencies> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> <version>5.16.1</vers原创 2021-02-28 15:48:15 · 905 阅读 · 0 评论 -
SpringBoot中远程操作Linux中的ActiveMQ(5.16.1版本)实现发送和处理消息
1.声明当前内容主要为使用SpringBoot操作Linux下的ActiveMQ(5.16.1版本),主要用于记录操作!当前demo类似:SpringBoot中简单的使用ActiveMQ实现发送和处理消息,的内容2.差异1.由于版本不同,所以pom文件也不同:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<原创 2021-02-28 14:18:53 · 300 阅读 · 0 评论 -
CentOS7:Linux中安装ActiveMQ和启动
1.声明当前内容主要用于记录在Linux的CentOS7中安装ActiveMQ5.16.1版本的操作2.下载wget https://mirrors.bfsu.edu.cn/apache//activemq/5.16.1/apache-activemq-5.16.1-bin.tar.gz3.解压和配置1.解压:tar xvf apache-activemq-5.16.1-bin.tar.gz2.开始配置端口:需要切换到activemq中vi conf/jetty.xml记住这个需要原创 2021-02-28 12:47:23 · 617 阅读 · 0 评论 -
SpringBoot之测试RabbitMQ集群和Haproxy模式
1.声明当前内容主要用于本人学习和复习,当前内容为使用SpringBoot测试RabbitMQ集群当前集群:节点节点ipnode2192.168.1.104node3192.168.1.1072.编写SpringBoot程序pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s原创 2020-05-31 13:22:34 · 1568 阅读 · 2 评论 -
RabbitMQ:测试Keepalived+Haproxy+RabbitMQ集群方式
1.声明当前的内容主要用于本人学习和复习用,内容包括测试测试Keepalived+Haproxy+RabbitMQ集群方式,前面已经测试了Haproxy+RabbitMQ集群,现在开始测试keepalived(看看它到底是什么东西)当前内容基于:测试Haproxy+RabbitMQ集群方式 和 CentOS7:keepalived的安装2.启动两个主机的keepalivednode1启动状态node2启动状态查看虚拟ipip add shownode1的结果node2的结果此时原创 2020-05-30 14:38:19 · 587 阅读 · 0 评论 -
RabbitMQ:测试Haproxy+RabbitMQ集群方式
当前环境:HA-Proxy version 1.5.18 、RabbitMQ 3.8.31.声明当前内容用于原创 2020-05-30 13:14:30 · 476 阅读 · 0 评论 -
RabbitMQ:搭建Haproxy+RabbitMQ集群方式(完成)
当前的版本:rabbitmq 3.8.3、haproxy 2.1.41.声明当前内容用于本人学习和复习之用,内容包括haproxy的编译、配置rabbitmq以及其中发现的问题2.下载编译1.下载地址:haproxy 2.1.4版本(直接使用迅雷下载)2.解压tar -xvif haproxy-2.1.4.tar.gz3.编译cd haproxy-2.1.4/make等待出现一个haproxy可执行文件即完成4.配置环境变量vi /etc/profile export HA原创 2020-05-29 14:36:29 · 1075 阅读 · 3 评论 -
RabbitMQ:Shovel模式的搭建和测试
1.声明当前内容用于本人学习和复习之用,内容包括创建和使用Shovel模式当前项目的节点和ip为:Federation中的节点2.开启Shovel插件 ./rabbitmq-plugins enable rabbitmq_shovel_managementui界面3.使用ui界面创建node1中创建node1ShovelQueue的队列node2中创建node2ShovelQueue的队列点击Shovel Management,开始构建查看结果发现直接创建成功了4.测原创 2020-05-28 15:16:16 · 729 阅读 · 0 评论 -
RabbitMQ:Federation模式的搭建和测试
1.声明当前内容用于本人学习和复习之用,当前内容主要包括搭建Federation模式和测试该模式的作用2.开启Federation模式使用两台主机搭建节点节点ipnode1192.168.1.100node2192.168.1.108为所有的主机都开启Federation插件./rabbitmq-plugins enable rabbitmq_federation_namegement ui界面效果3.使用Federation 搭建基于Exchang原创 2020-05-28 14:42:16 · 881 阅读 · 2 评论 -
RabbitMQ:集群模式下的ha模式的测试
1.声明当前内容用于本人学习和复习之用,当前内容用于测试当前的rabbitmq的ha模式最近不知道怎么回事,进不了rabbitmq官方网站了,学习困扰2.开始创建ha模式策略ha模式是一种策略模式通过policy方式创建(这里使用ui方式创建)在当前的node3设置policy(用于正则匹配node2中的node2Queue队列)查看结果此时发现集群中都具有该策略,也说明了在集群模式下的policy是可以公用的查看队列发现当前的node2Queue出现了两个mirror分别指向原创 2020-05-27 12:13:32 · 1306 阅读 · 0 评论 -
RabbitMQ:一般集群模式下的测试以及问题的发现
1.声明当前内容主要用于本人学习和复习之用,内容包括探讨一般集群模式下的测试,发现其中的问题节点名称节点ipnode1192.168.1.110node2192.168.1.108node3192.168.1.102启动后的页面2.测试集群消费1.创建队列和交换exchange(在node)public class ClusterNode2MsgSender { private static String host = "192.168.1.108"原创 2020-05-27 11:25:53 · 535 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(8)--集群的操作
1.声明当前内容主要用于本人学习和复习之用,当前内容主要为Nodes的操作当前内容来源:RabbitMQ官方文档2.查看命令命令如下:awati_startup (等待节点启动,如果未启动则阻塞)reset (让该节点离开集群,并重置该节点)rotate_logs (指示该节点执行内部日志旋转)shutdown (关闭当前的RabbitMQ服务和Erlang虚拟机,不需要pid文件)stop (关闭当前的RabbitMQ服务和Erlang虚拟机,需要指定pid文件)wait (等原创 2020-05-26 11:37:55 · 951 阅读 · 2 评论 -
RabbitMQ:集群的ui界面操作分析
1.声明当前内容主要用于本人学习和复习之用,当前内容主要为分析搭建集群之后的ui界面的分析,发现其中的与非集群的区别2.查看界面的区别发现当前的主要界面存在区别:显示了三个节点数据(当节点宕机后就会显示not run)并且具有clustering(表示当前的集群)发现添加Exchange界面并没有任何其他的变化发现添加Queue界面产生了变化,多出了一个node3.操作添加数据1.直接添加一个exchange发现只要在一个节点添加了一个Exchange其他的集群中会自动创建一个原创 2020-05-25 15:53:09 · 1342 阅读 · 0 评论 -
RabbitMQ:集群的搭建(基于Linux Deploy三台手机和Linux)
1.声明当前内容主要用于本人学习和复习RabbitMQ集群的搭建,本次内容主要为三台CentOS的Linux Deploy手机搭建RabbitMQ集群注意:手机需要安装Linux Deploy(必须root),本人使用aliyun镜像搭建2.准备条件1.三台手机必须都安装(或者直接解压配置也可以)Erlang(otp_src_22.3.tar.gz)2.使用解压版的rabbitmq上面两个操作可以借鉴:RabbitMQ:CentOS7的安装、启动以及使用3.配置hosts文件4.配置.erl原创 2020-05-25 13:54:22 · 609 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(7)--Feature flags、Queue、Definitions操作
1.声明当前内容主要用于本人学习和复习之用,当前内容主要为使用RabbitMQ的命令行工具:rabbitmqctl 来操作Feature flags、Queue、Definitions(一些比较简单的操作)当前内容主要来源:RabbitMQ官方文档2.查看命令Definitions操作exoprt_definitions (导出Erlang的json数据配置)import_definitions (导入json配置文件)Feature flags操作enable_feature_f原创 2020-05-24 10:05:44 · 2082 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(6)--node configuration操作
注意前面的环境是windows环境下的操作,这里是Linux下的操作1.声明当前内容主要用于本人学习和复习之用,内容为rabbitmqctl中的node configuration的命令的使用当前内容来源:RabbitMQ官方文档2.查看命令命令有:decode (通过一个密码解密)encode (通过一个密码加密)set_cluster_name (设置这个集群的名称)set_disk_free_limit (设置空闲磁盘的限制)ser_log_level (设置日志的级别)se原创 2020-05-23 10:48:36 · 398 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(5)--parameter操作
1.声明当前的内容主要用于本人学习和复习之用,当前内容主要为使用rabbitmqctl 的运行时的parameter的各种操作当前内容主要来源:RabbitMQ官方文档前置条件:(需要安装两个插件mqtt和federation)1.启用mqtt插件rabbitmq-plugins enable rabbitmq_federation_management2.启用第二个插件rabbitmq-plugins enable rabbitmq_mqtt2.查看parameter方法分析如原创 2020-05-22 16:30:33 · 568 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(5)--policy操作
1.声明当前内容主要用于本人学习和复习之用,当前内容包括策略的配置和使用当前主要来源为:RabbitMQ官方文档2.查看命令当前主要为:set_operator_policy (设置或者覆盖一个operator的策略)list_operator_policies (查看所有的operator的策略)clear_operator_policy(清除一个operator的策略 )set_policy (设置或者覆盖一个策略)list_policies (列出所有的策略不包括operator原创 2020-05-22 11:52:55 · 1870 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(4)--vhost操作
1.声明当前内容用于本人学习和复习之用,其内容主要包括对vhost的使用操作2.查看命令参数通过分析发现:add_vhost (创建一个虚拟主机)delete_vhost (删除一个虚拟主机)set_vhost_limits (为某个虚拟主机添加限制)list_vhost_llimits (显示某个虚拟主机的限制)clear_vhost_limits (清除某个虚拟主机的限制)restart_vhost (重启一个失败的虚拟主机的数据和队列)trace_on (为某个虚拟主机开启追踪原创 2020-05-22 10:26:33 · 1677 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(3)--访问控制
1.声明当前内容主要用于本人学习和复习之用,主要内容为如何设定和撤销某个用户的权限,为当前的用户设定vhost当前内容主要来源:RabbitMQ官方文档2.查看有哪些访问控制的参数主要有清空某个vhost的某个用户的权限清空用户的topic权限对于一个vhost或者一个exchange列出所有用户的在一个vhost所有权限列出所有用户在一个vhost上面的topic权限列出一个用户的在所有vhost的所有权限列出出一个用户的topic权限列出所有的vhost设置一个用户在某个vh原创 2020-05-21 15:12:24 · 778 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(2)--用户操作
1.声明当前内容用于本人学习和复习之用,当前内容主要包括使用rabbitmqctl进行用户的操作当前内容来源:RabbitMQ官方文档2.查看可执行的操作分析查看具有以下操作创建用户认证用户修改用户的密码清除用户的密码删除用户查询所有的用户为用户设置tag3.执行操作1.添加用户操作(格式)rabbitmqctl add_user 用户名 密码创建一个hello账户密码为123456rabbitmqctl add_user hello 1234562.认证用户(原创 2020-05-21 14:12:02 · 396 阅读 · 0 评论 -
RabbitMQ:rabbitmqtcl工具的使用(1)
1.声明当前内容主要用于本人学习和复习之用,主要内容为rabbitmqctl的使用当前内容来源:RabbitMQ官方文档2.主要通过原创 2020-05-21 11:39:20 · 1613 阅读 · 1 评论 -
RabbitMQ:CentOS7的安装、启动以及使用
当前版本:CentOS7、rabbitmq-server-generic-unix-3.8.3、otp_src_22.31.声明当前内容主要用于本人学习和复习之用,当前内容主要为在CentOS7下面安装RabbitMQ,处理其中出现的问题2.下载和解压rabbitmq直接下载wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-generic-unix-3.8.3.tar.原创 2020-05-20 11:42:53 · 752 阅读 · 0 评论 -
RabbitMQ:RPC调用的模拟分析
1.声明当前内容主要用于本人学习和复习之用,当前内容为使用RabbitMQ的生产者、消费者、队列实现RPC调用当前内容来源:RabbitMQ官方文档分析RPC调用客户端发送参数请求服务端服务端处理发送的请求并得到结果服务端将结果返回到客户端通过上面的RPC分析可以发现数据信息可以看作消息客户端即是消费者又是生产者(获得了消息,发送了消息)服务端即是消费者又是生产者(处理了消息,返回了消息)2.创建客户端和服务端客户端(为它服务发送和接收消息的能力)public class原创 2020-05-19 15:45:35 · 184 阅读 · 0 评论 -
RabbitMQ:发布者确认和消息返回
1.声明当前内容用于本人学习和复习之用,当前内容主要包括发布者确认消息和消息不可达目的地的时候的消息的返回当前内容来源:RabbitMQ官方当前内容主要包括:消息不可达目的地的时候的消息返回设定使用生产者的消息确认机制(主要是用于确认消息是否发送到exchange上面)2.官方的Publisher ConfirmsNetworks can fail in less-than-obvious ways and detecting some failures takes time. There原创 2020-05-19 11:48:32 · 2083 阅读 · 0 评论