rocketmq集群部署及相关知识点

author author     2023-04-23     154

关键词:

参考技术A 权限文件/conf/plain_acl.yml:

如果不设置,控制台服务将无法访问namesrv服务
异常信息如下
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed

Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。

roker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的Broker Name,不同的Broker Id来定义,BrokerId为0表示Master,非0表示Slave。Master也可以部署多个。

每个Broker与Name Server集群中的所有节点建立长连接,定时(每隔30s)注册Topic信息到所有Name Server。Name Server定时(每隔10s)扫描所有存活broker的连接,如果Name Server超过2分钟没有收到心跳,则Name Server断开与Broker的连接。

roducer与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer完全无状态,可集群部署。

Producer每隔30s(由ClientConfig的pollNameServerInterval)从Name server获取所有topic队列的最新情况,这意味着如果Broker不可用,Producer最多30s能够感知,在此期间内发往Broker的所有消息都会失败。

Producer每隔30s(由ClientConfig中heartbeatBrokerInterval决定)向所有关联的broker发送心跳,Broker每隔10s中扫描所有存活的连接,如果Broker在2分钟内没有收到心跳数据,则关闭与Producer的连接。

Consumer与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,且定时向Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。

Consumer每隔30s从Name server获取topic的最新队列情况,这意味着Broker不可用时,Consumer最多最需要30s才能感知。

Consumer每隔30s(由ClientConfig中heartbeatBrokerInterval决定)向所有关联的broker发送心跳,Broker每隔10s扫描所有存活的连接,若某个连接2分钟内没有发送心跳数据,则关闭连接;并向该Consumer Group的所有Consumer发出通知,Group内的Consumer重新分配队列,然后继续消费。

当Consumer得到master宕机通知后,转向slave消费,slave不能保证master的消息100%都同步过来了,因此会有少量的消息丢失。但是一旦master恢复,未同步过去的消息会被最终消费掉。

消费者对列是消费者连接之后(或者之前有连接过)才创建的。我们将原生的消费者标识由 IP@消费者group扩展为 IP@消费者grouptopictag,(例如 xxx.xxx.xxx.xxx@mqtest_producer-group_2m2sTest_tag-zyk )。任何一个元素不同,都认为是不同的消费端,每个消费端会拥有一份自己消费对列(默认是broker对列数量*broker数量)。新挂载的消费者对列中拥有commitlog中的所有数据。

rocketmq消息队列单机部署及使用

...http://blog.csdn.net/loongshawn/article/details/51086876相关文章:《RocketMQ消息队列单机部署及使用》《java编写简单消息队列。实现高德坐标变形服务》0RocketMQ简单介绍0.1介绍RocketMQ是一个消息中间件。消息中间件中有两个角色:消息生产... 查看详情

rocketmq集群部署配置

目标,使用2台机器部署RocketMQ多Master多Slave模式,异步复制集群模式。第一步,修改/etc/hosts文件192.168.116.115rocketmq1192.168.116.116rocketmq2集群机器配置完成之后,集群内进行ping一下,确保都通。编译得到环境gitclone-bdevelophttps://github.... 查看详情

hac集群部署vip及相关操作(代码片段)

...数据库目录文档用途详细信息文档用途本文档用于指导HAC集群vip部署及相关操作详细信息HAC集群支持用户配置在特定事件发生时触发的回调脚本,因此可以通过callback脚本实现vip的添加、漂移、删除1、vip的部署vip相关文件会... 查看详情

hac集群部署vip及相关操作(代码片段)

...数据库目录文档用途详细信息文档用途本文档用于指导HAC集群vip部署及相关操作详细信息HAC集群支持用户配置在特定事件发生时触发的回调脚本,因此可以通过callback脚本实现vip的添加、漂移、删除1、vip的部署vip相关文件会... 查看详情

docker部署rocketmq集群

最近搭建RocketMQ踩了一些坑,更新下第一步,创建目录mkdir-p/opt/rocketmq/logs/nameserver-amkdir-p/opt/rocketmq/logs/nameserver-bmkdir-p/opt/rocketmq/store/nameserver-amkdir-p/opt/rocketmq/store/nameserver-bmkd 查看详情

rocketmq单点部署

下载地址:https://github.com/alibaba/RocketMQ 转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51086876 相关文章: 《RocketMQ消息队列单机部署及使用》《java编写简单消息队列,实现高德坐标变形服务》 0RocketMQ简介&n... 查看详情

docker部署rocketmq集群(代码片段)

最近搭建RocketMQ踩了一些坑,更新下第一步,创建目录mkdir-p/opt/rocketmq/logs/nameserver-amkdir-p/opt/rocketmq/logs/nameserver-bmkdir-p/opt/rocketmq/store/nameserver-amkdir-p/opt/rocketmq/store/nameserver-bmkd 查看详情

rocketmq:linux环境-单机部署和主从集群部署(代码片段)

1.单机部署(单主)1.1下载安装包说明:rocketmq需要jdk环境。(1)下载jdk安装包https://www.oracle.com/technetwork/java/javase/archive-139210.html下载jdk,这边选择的是jdk-8u144-linux-x64.tar.gz(2)下载rocketmq安装包http://rocketmq.apache.org/dowlo 查看详情

rocketmq集群部署(多master多slave异步)(代码片段)

一、最近公司在做队列的技术选型,经过调研,决定使用rocketmq作为整个架构的队列层,我们之前的公司是用RabbitMQ,集群部署参考我之前的文章:RabbitMQ集群部署;rocketmq集群由NameServer和Broker两种角色组成,NameServer是无状态的... 查看详情

安装部署rocketmq集群(双主双从)

参考技术A在前面,我们介绍了如果快速安装单个RocketMQ。快速安装意味着这只是在测试环境下的小打小闹,我们在单机安装的基础上,尝试安装RocketMQ集群。本次安装为了方便,使用的是已经编译好的二进制包进行安装部署。Rock... 查看详情

基于云基础设施快速部署rocketmq5.0集群

本文作者:蔡高扬,ApacheRocketMQCommitter,阿里云智能技术专家。背景上图左侧为RocketMQ4.x版本集群,属于非切换架构。NameServer作为无状态节点可以部署多份,broker集群可以部署多组broker,每一组有一个BrokerMaster和多个BrokerSlave。运... 查看详情

rocketmq3.2.6安装部署及调用

RocketMQ3.2.6安装部署及调用1、RocketMQ部署架构所有IP都是127.0.0.1,其中NameServer一个,Broker一个,Producer一个,Consumer一个2、RocketMQ环境搭建(1).下载安装包下载地址:https://github.com/alibaba/RocketMQ/releases(2).解压,并进入bin目录(3... 查看详情

rocketmq集群

写在前面Rocketmq采用apacherockemq4.2.0release版本。源码路径(http://mirrors.shu.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip)场景这里采用两台Ubuntu主机,分别在一台主机上部署一个nameserver、一个从broker服务;另一台主机上部署... 查看详情

rocketmq集群搭建及安装rocketmq-console(代码片段)

 RocketMQ集群搭建-4.2.0版本https://juejin.im/post/5a911ea16fb9a0633f0e36a1直接在官网下载的二进制包,编译容易出现问题启动broker,报错:rocketmqCannotallocatememory可根据机器内存大小,配置jvm参数http://www.cnblogs.com/quchunhui/p/8350904.html&n 查看详情

rocketmq:windows环境-单机部署和多种主从集群场景部署

关于默认端口broker的默认端口有3个,10911,10912,10909。10911是remotingServer使用的监听端口,remotingServer主要处理以下三类消息:   producer发送的消息   conumser在消费失败或者消费超时发送的消息   con... 查看详情

kubernetes基础知识及单节点部署!(代码片段)

kubernetesKubernetes概述Kubernetes特性Kubernetes核心概念PodControllersServiceKubernetes单节点部署ETCD集群部署flannel网络配置部署master组件node节点部署Kubernetes概述kubernetes(k8s),是Google在2014年开源的容器化集群化管理系统 查看详情

kubernetes基础知识及单节点部署!(代码片段)

kubernetesKubernetes概述Kubernetes特性Kubernetes核心概念PodControllersServiceKubernetes单节点部署ETCD集群部署flannel网络配置部署master组件node节点部署Kubernetes概述kubernetes(k8s),是Google在2014年开源的容器化集群化管理系统 查看详情

rocketmq安装及集群搭建(代码片段)

...里写自定义目录标题一、下载安装1.下载2.基础概念3.启动RocketMQ二、安装RocketMQconsole1.使用git拉取项目2.修改配置文件3.打包4.启动项目三、搭建双主双从集群1.创建服务器1中的消息存储路径2.修改服务器1配置文件3.创建服务器2中... 查看详情