千家信息网

搭建METAQ消息中间件

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


0