千家信息网

搭建METAQ消息中间件

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、简介METAQ(全称Metamorphosis)是一款完全的队列模型消息中间件,服务器使用Jave语言编写,可在多种软硬件平台上部署;客户端支持Java、C++编程语言;单台服务器可支持1万以上个
千家信息网最后更新 2025年12月02日搭建METAQ消息中间件

一、简介

METAQ(全称Metamorphosis)是一款完全的队列模型消息中间件,服务器使用Jave语言编写,可在多种软硬件平台上部署;客户端支持Java、C++编程语言;单台服务器可支持1万以上个消息队列,通过扩容服务器,队列数几乎可以任意横向扩展;每个队列都是持久化、长度无限(取决于磁盘空间大小)、并可从队列任意位置开始消费;

MetaQ是一款分布式、队列模型的消息中间件,MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景。基于发布订阅模式,有Push和Pull两种消费方式,支持严格的消息顺序,亿级别的堆积能力,支持消息回溯和多个维度的消息查询

相关名称解释:

1、Topic---消息的主题:由用户定义并在服务端配置;producer发送消息到某个topic下,consumer从某个topic下消费信息;

2、Offset---消息在broker上的每个分区都是组织成一个文件列表,消费者拉取数据需要知道数据在文件中偏移量(offset),Offset是绝对偏移量,服务器会将offset转化为具体文件的相对偏移量;

3、Broker---就是meta的服务端或服务器,在消息中间件也通称为broker;

4、分区(partition)---同一个topic下面分为多个分区;

配置文件相关参数:

zk.zkEnable=true ---是否注册到zk,默认true

zk.zkConnect=localhost:2180 ---zk的服务器列表

zk.zkSessionTimeoutMs=30000 ---zk心跳超时,单位毫秒,默认30秒

zk.zkConnectionTimeoutMs=30000 ---zk连接超时时间,单位毫秒,默认30秒

brokerId ---服务器ID,必须是集群内唯一,必须为整数0-1024之间

serverPort ---服务器端口

hostName ---默认将取本机IP,多机网卡需要指明

dataLogPath ----日志数据文件路径,默认跟dataPath一样

dataPath ---于指定默认的数据存储路径

deletePolicy=delete,168 ---数据删除策略,默认超过7天删除,默认单位小时

deleteWhen: ---何时执行删除策略的cron表达式,默认0 0 6,18 * *?

flushTxLogAtCommit=1 ---事务日志的同步设置

unflushThreshold ---每个多少条消息做一次磁盘sync,强制将更改的数据刷入磁盘;

unflushInterval ---间隔多少毫秒定期做一次磁盘sync,默认10秒



二、搭建过程

系统环境:CentOS Linux release 7.6.1810 (Core)

1、jdk环境

2、搭建zookeeper(伪集群)

1)解压

tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/

2)创建三个节点,复制文件(文件夹)

# mkdir -p zk1 zk2 zk3

cp -r zookeeper-3.4.14 zk1/

3)配置文件(其他两个节点类似)

cd zk1/zookeeper-3.4.14/

# mkdir dataDir dataLogDir

#创建标识(三个节点分别1,2,3)

# cd dataDir

vim myid

1

##修改配置文件

# mv conf/zoo_sample.cfg conf/zoo.cfg

# vim conf/zoo.cfg

其他两个节点拷贝过去即可(注意修改标识)##修改相关配置文件

# cp -rf zk1/zookeeper-3.4.14 zk2/

# cp -rf zk1/zookeeper-3.4.14 zk3/

4)启动服务

# zk1/zookeeper-3.4.14/bin/zkServer.sh start

# zk2/zookeeper-3.4.14/bin/zkServer.sh start

# zk3/zookeeper-3.4.14/bin/zkServer.sh start

# netstat -tnlp | grep -E '2181|2182|2183'

测试连接登录即可:

# zk1/zookeeper-3.4.14/bin/zkCli.sh -server 127.0.0.1:2181

3、搭建metaq环境

1)解压文件

# tar -zxvf metaq-server-1.4.6.2.tar.gz -C /usr/local/

2)配置文件

# cd /usr/local/taobao/metamorphosis-server-wrapper/

# vim conf/server.ini

3)启动服务

./bin/metaServer.sh start &

##停止命令

./bin/metaServer.sh stop

##重启命令

./bin/metaServer.sh restart &

##重新加载topic配置

./bin/metaServer.sh reload &

##查看server状态

./bin/metaServer.sh stats

4、检查部分

1)查看metaq注册到zookper上

# zk1/zookeeper-3.4.14/bin/zkCli.sh -server 127.0.0.1:2181

###已注册,查看meatq的队列


消息 文件 服务 服务器 数据 队列 配置 支持 磁盘 节点 消费 中间件 单位 日志 环境 顺序 偏移 三个 两个 事务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 pc幸运28预测软件开发 芯片软件开发是做什么的 数据库安全审计免费下载 有网络安全法规定的违法行为 软件开发不确定需求怎么做选择 网络安全执法检查自查表 西安电子同步服务器密码是什么 计算机网络技术的生活 军营网络安全宣传周主题板报标题 长治软件开发公司电话 如何提升服务器安全性 为什么数据库多个库 数字图书馆软件开发 北京电力应急软件开发价格有哪些 班云服务器 国家电网网络安全演练 如何查看网站服务器地址 网络安全公司第一梯队 在关系数据库中主键是 网络安全不忘初心主题教育 北京软件开发薪资水平 中国数据库技术的现状 中宏数据库 服务贸易 惠普服务器维修点 网络技术基础密钥 南京鹏的软件开发有限公司 为什么数据库多个库 广州紫鲸网络技术有限公司 医保代码数据库动态维护咨询电话 main方法连数据库
0